想用node.js实现哈希算法,AES,DES,加密
cryoto库 CryptoJS = reqyire(“cryoto-js”)
加解密AES,有不同的加密方式 iv key data
加密:
var encrypted = CryptoJS.AES.encrypt("xxx", "xxxx");
解密:
var decrypted = CryptoJS.AES.decrypt(encrypted, "SecretPassphrase");
CryptoJS.enc.Utf8.parse('xxxxxx').toString()
CryptoJS.enc.Utf8.parse('message').toString(CryptoJS.enc.Utf8)
同理可得 DES Rabbit Rc4 Rc4Drop
设置密钥(key)和偏移量(iv)
var key = CryptoJS.enc.Hex.parse("xxxxxxxxxxxxxxxxxx");
key.toString()
iv同理
var encrypted = CryptoJS.AES.encrypt("xxxxx", key, { iv: iv });
CryptoJS支持的加密模式
CBC (the default)
CFB
CTR
OFB
ECB
CryptoJS支持的填充方式
Pkcs7 (the default)
Iso97971
AnsiX923
Iso10126
ZeroPadding
NoPadding
WordArray对象,是CryptoJs 中最核心的一个类.
key = CryptoJS.enc.Utf8.parse('SecretPassphrase')
data = CryptoJS.enc.Utf8.parse('Message000000000')
var encrypted = CryptoJS.AES.encrypt(data, key, {mode: CryptoJS.mode.ECB,padding : CryptoJS.pad.ZeroPadding
});
console.log(encrypted.toString())
’ '.charCodeAt()
String.fromCharCode()
打包: browserify库
Browserify 使用类似于 node 的 require() 的方式来组织浏览器端的 Javascript 代码.