JavaScript 字符串加密和解密? [英] JavaScript string encryption and decryption?
问题描述
我对构建一个供个人使用的小型应用程序感兴趣,该应用程序将使用 JavaScript 在客户端加密和解密信息.加密后的信息将存储在服务器上的数据库中,但绝不会是解密后的版本.
I'm interested in building a small app for personal use that will encrypt and decrypt information on the client side using JavaScript. The encrypted information will be stored in a database on a server, but never the decrypted version.
它不必是超级安全的,但我想使用当前未破坏的算法.
It doesn't have to be super duper secure, but I would like to use a currently unbroken algorithm.
理想情况下,我可以做类似的事情
Ideally I'd be able to do something like
var gibberish = encrypt(string, salt, key);
生成编码字符串,以及类似的东西
to generate the encoded string, and something like
var sensical = decrypt(gibberish, key);
稍后解码.
到目前为止,我已经看到了这个:http://bitwiseshiftleft.github.io/sjcl/
So far I've seen this: http://bitwiseshiftleft.github.io/sjcl/
我应该看看其他图书馆吗?
Any other libraries I should look at?
推荐答案
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="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js" integrity="sha256-/H4YS+7aYb9kJ5OKhFYPUjSJdrtV6AeyJOtTkw6X72o=" crossorigin="anonymous"></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>
这篇关于JavaScript 字符串加密和解密?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!