我正在使用Crypto
来加密和解密我的数据。
所以,假设我的加密密钥为key=b3ecb60efb7145bfb87e077c27e7c207
,我有加密数据app_t={"referenceId":"324hweu23b23"}
。
现在,首先我将数据编码到base64
,然后在密钥的帮助下进行ecnrypting。下面是我的代码:
function encDatafn(data,key){
var base64_data=new Buffer(data).toString("base64");
var cipher = crypto.createCipher('AES-256-ECB', key);
var encdata = cipher.update(base64_data,'base64','utf8');
return encdata+=cipher.final('utf8');
}
var encData=encDatafn(app_t,Key)
console.log(encData);
所以我得到的加密字符串是v��dic��0\��[�'�l��i�bp�H�f
;
现在,当我试图解密它,因此它在下面不起作用的是解密代码:
function decdatafn(data,key){
var dec_base64=new Buffer(JSON.stringify(data),"base64").toString();
var decipher = crypto.createDecipher('AES-256-ECB', key);
var decDataa = decipher.update(dec_base64,'base64','utf8');
return decDataa+=decipher.final('utf8');
}
var decData=decdatafn(encData,key)
console.log("decDataaa="+decData);
显示错误:
Error: error:0606506D:digital envelope routines:EVP_DecryptFinal_ex:wrong final block length
请告诉我这种形式的错误。
由于