Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java加密和Javascript解密_Java_Javascript_Encryption_Cryptography - Fatal编程技术网

Java加密和Javascript解密

Java加密和Javascript解密,java,javascript,encryption,cryptography,Java,Javascript,Encryption,Cryptography,我想用Java加密一个字符串并用Javascript解密它。我用javascript尝试了Crypto,但解密错误。用Javascript解密最简单的方法是什么 我使用了以下链接中的加密代码: 用Javascript解密最简单的方法是什么 不安全 或者,如果您正在寻找在Java和Javascript中安全加密/解密的最简单方法,那么您可能想看看,它具有和的绑定 用lazynamide在Java中加密 使用Na钠Plus在JavaScript中解密 这取决于加密。向我们提供更多信息,也许我们能帮

我想用Java加密一个字符串并用Javascript解密它。我用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());
});