Jea*_*eri 1 javascript encryption aes sha256 sjcl
我正在使用SJCL库来加密/解密消息.我的问题是我不知道哪个使用AES或SHA256
这是我的代码:
var h = sjcl.codec.hex, count = 2048 ;
salt = h.fromBits(sjcl.random.randomWords('10','0'));
var key = h.fromBits( sjcl.misc.pbkdf2(somePassword, h.toBits(salt), count) ) ;
Run Code Online (Sandbox Code Playgroud)
接下来我可以加密/解密
var encMessage = sjcl.encrypt(key, message) ;
sjcl.decrypt(key, encMessage) ;
Run Code Online (Sandbox Code Playgroud)
AES或SHA256还是其他什么?
SHA256和AES是两种不同类型的算法.
SHA256是一个加密哈希函数:http://en.wikipedia.org/wiki/SHA-2
AES是一种加密算法:http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
因此,在您使用加密的情况下,您实际上正在使用AES.
pbkdf2该密钥生成使用HMAC与SHA256.但是sjcl for的默认加密密钥大小AES-CCM只是128位.如果你愿意AES-CCM-256,我认为你需要做以下事情,你也不必pbkdf2直接打电话.
var encMessage =sjcl.encrypt(somePassword,message,{count:2048,salt:salt,ks:256});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4059 次 |
| 最近记录: |