这个问题在这里已经有答案了:
在节点中加密,在java中解密(4个答案)
node.js decipher不适用于其他密码的密文(1个答案)
node.js中的aes加密与python中预期的解密匹配(1个答案)
三年前关门了。
我有java加密函数代码
public String encrypt(String Data, String keySet) throws Exception {
byte[] keyByte = keySet.getBytes();
Key key = generateKey(keyByte);
Cipher c = Cipher.getInstance("AES");
c.init(Cipher.ENCRYPT_MODE, key); //2
byte[] encVal = c.doFinal(Data.getBytes()); //1
byte[] encryptedByteValue = new Base64().encode(encVal); //3
String encryptedValue = new String(encryptedByteValue); //4
return encryptedValue;
}
private static Key generateKey(byte[] keyByte) throws Exception {
Key key = new SecretKeySpec(keyByte, "AES");
return key;
}
现在,我尝试在nodejs中使用加密模块实现相同的功能,代码是:-
//buf is string data that i want to encrypt
function makeEncrypt(buf, callback) {
var enckey = "encryptionkey";
var cipher = crypto.createCipher(algorithm, enckey)
var crypted = cipher.update(buf, 'utf8', 'base64')
crypted += cipher.final('base64');
console.log("encrypted data is : " + crypted.toString());
callback(null, crypted);
}
但是两个函数返回的加密数据是不同的我做错了什么?如果有人能帮忙!!提前谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!