我想用 Java 加密一个字符串并用 Javascript 解密它。我在javascript中尝试Crypto
过,但解密不正确。在Javascript中解密最简单的方法是什么?
我使用了以下链接中的加密代码:
http://bryox.blogspot.in/2011/12/encrypt-and-decrypt-string-by-java.html
我想用 Java 加密一个字符串并用 Javascript 解密它。我在javascript中尝试Crypto
过,但解密不正确。在Javascript中解密最简单的方法是什么?
我使用了以下链接中的加密代码:
http://bryox.blogspot.in/2011/12/encrypt-and-decrypt-string-by-java.html
在Javascript中解密最简单的方法是什么?
不安全。
或者,如果您正在寻找在 Java 和 Javascript 中安全加密/解密的最简单方法,您可能想看看libsodium ,它具有Java和JavaScript的绑定。
LazySodiumJava lazySodium = new LazySodiumJava(new SodiumJava());
SecretBox.Lazy secretBoxLazy = (SecretBox.Lazy) lazySodium;
Key key = lazySodium.cryptoSecretBoxKeygen();
String msg = "This message needs top security";
byte[] nonce = lazySodium.nonce(SecretBox.NONCEBYTES);
lazySodium.cryptoSecretBoxEasy(msg, nonce, key);
const {SodiumPlus, CryptographyKey} = require('sodium-plus');
let sodium;
async function decryptMessage(ciphertextHex, nonceHex, keyHex) {
if (!sodium) sodium = await SodiumPlus.auto();
let ciphertext = Buffer.from(ciphertextHex, 'hex');
let nonce = Buffer.from(nonceHex, 'hex');
let key = CryptographyKey.from(keyHex, 'hex');
return sodium.crypto_secretbox_open(ciphertext, nonce, key);
}
decryptMessage(ciphertext, nonce, key).then((plaintext) => {
console.log(plaintext.toString());
});