function encrypto(key:string,iv:string,data:string) {
let dep = crypto.createCipheriv("aes-128-cbc",key,iv);//使用aes对称加密算法,128表示key和iv,都需要是128位的,16个字节的字符串
return dep.update(data,'binary','hex') + dep.final("hex");//hex十六进制
}
function decrypto(key:string,iv:string,cryted:string) {
cryted = Buffer.from(cryted,'hex').toString("binary");//这里似乎不是二进制,不知道,反正打印的不像,可能只能用buffer.toString("binary")转、
let dep = crypto.createDecipheriv("aes-128-cbc",key,iv);
return dep.update(cryted,'binary','utf8') + dep.final('utf8')
}
let key = "abcdef1234567890";
let iv = "tbcdey1234567890"
let data = "jiege"
let cryted = encrypto(key,iv,data);
console.log(cryted);
let decrypted = decrypto(key,iv,cryted);
console.log(decrypted);