Java加密和Javascript解密
我想用Java加密一个字符串并用Javascript解密它。我用javascript尝试了Java加密和Javascript解密,java,javascript,encryption,cryptography,Java,Javascript,Encryption,Cryptography,我想用Java加密一个字符串并用Javascript解密它。我用javascript尝试了Crypto,但解密错误。用Javascript解密最简单的方法是什么 我使用了以下链接中的加密代码: 用Javascript解密最简单的方法是什么 不安全 或者,如果您正在寻找在Java和Javascript中安全加密/解密的最简单方法,那么您可能想看看,它具有和的绑定 用lazynamide在Java中加密 使用Na钠Plus在JavaScript中解密 这取决于加密。向我们提供更多信息,也许我们能帮
Crypto
,但解密错误。用Javascript解密最简单的方法是什么
我使用了以下链接中的加密代码:
用Javascript解密最简单的方法是什么
不安全
或者,如果您正在寻找在Java和Javascript中安全加密/解密的最简单方法,那么您可能想看看,它具有和的绑定
用lazynamide在Java中加密
使用Na钠Plus在JavaScript中解密
这取决于加密。向我们提供更多信息,也许我们能帮助你。我们需要两端的代码。不,你没有。你还没有向我们展示你的尝试。顺便说一句,您所指的代码使用特定于平台的编码(value.getBytes()),使用ECB而不是CBC,不提供加密通信所需的完整性/真实性,并使用十六进制而不是base64作为密文(这是可以的,但不是很有效)。此外,请阅读本文:
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());
});