JavaScriptstringencryption和解密?
我有兴趣构build一个个人使用的小应用程序,使用JavaScript来encryption和解密客户端的信息。 encryption的信息将被存储在服务器上的数据库中,但不会被解密的版本。
它不必是超级安全的,但我想使用一个目前不间断的algorithm。
理想情况下,我可以做类似的事情
var gibberish = encrypt(string, salt, key);
生成编码的string,等等
var sensical = decrypt(gibberish, key);
稍后解码。
到目前为止,我已经看到这个: http : //bitwiseshiftleft.github.io/sjcl/
我应该看的任何其他图书馆?
var encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase"); //U2FsdGVkX18ZUVvShFSES21qHsQEqZXMxQ9zgHy+bu0= var decrypted = CryptoJS.AES.decrypt(encrypted, "Secret Passphrase"); //4d657373616765 document.getElementById("demo1").innerHTML = encrypted; document.getElementById("demo2").innerHTML = decrypted; document.getElementById("demo3").innerHTML = decrypted.toString(CryptoJS.enc.Utf8);
Full working sample actually is: <script src="ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script> <br><br> <label>encrypted</label> <div id="demo1"></div> <br> <label>decrypted</label> <div id="demo2"></div> <br> <label>Actual Message</label> <div id="demo3"></div>
CryptoJS怎么样 ?
这是一个坚实的encryption库,有很多function。 它实现了哈希,HMAC,PBKDF2和密码。 在这种情况下,密码是你所需要的。 查看项目主页上的快速入门指南。
你可以用AES做一些事情:
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script> <script> var encryptedAES = CryptoJS.AES.encrypt("Message", "My Secret Passphrase"); var decryptedBytes = CryptoJS.AES.decrypt(encryptedAES, "My Secret Passphrase"); var plaintext = decryptedBytes.toString(CryptoJS.enc.Utf8); </script>
至于安全性,在我写作的那一刻,AESalgorithm被认为是不间断的
编辑:
似乎在线URL已closures,您可以使用下载的文件进行encryption,从下面给出的链接,并将相应的文件放在应用程序的根文件夹中。