Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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
AES 128加密-java加密和javascript解密_Java_Javascript_Encryption - Fatal编程技术网

AES 128加密-java加密和javascript解密

AES 128加密-java加密和javascript解密,java,javascript,encryption,Java,Javascript,Encryption,我有一个Java代码,其中的加密操作如下: String encrypted = "mPgzvJKbSFgP6nRRHNlTufscZiChL2KUYaNeSF27+Dg="; String key = "9d6ea4d3e6f8c4f8"; String salt = "1c5dd32d7ba54bdd"; String transform = "AES/CBC/ISO10126PADDING"; IvParameterSpec ivspec = new IvParameterSpec(s

我有一个Java代码,其中的加密操作如下:

String encrypted = "mPgzvJKbSFgP6nRRHNlTufscZiChL2KUYaNeSF27+Dg=";
String key = "9d6ea4d3e6f8c4f8";
String salt = "1c5dd32d7ba54bdd"; 
String transform = "AES/CBC/ISO10126PADDING";

IvParameterSpec ivspec = new IvParameterSpec(salt.getBytes());
SecretKey secretKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance(transform);
cipher.init(Cipher.DECRYPT_MODE, secretKey, ivspec);

byte[] encryptedBytes = DatatypeConverter.parseBase64Binary(encrypted); // hash to byte[] 
byte[] data = cipher.doFinal(encryptedBytes); 
System.out.println(new String(data));
现在,我需要用javascript对其进行解密。我写的代码是:

var key = '9d6ea4d3e6f8c4f8';
var iv  = '1c5dd32d7ba54bdd';

var options = {iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Iso10126};

alert("key + " + key);
alert("iv + " + iv);

var encrypted = 'mPgzvJKbSFgP6nRRHNlTufscZiChL2KUYaNeSF27+Dg=';
alert("encrypted + " + encrypted);
alert("encrypted.toString() = " + encrypted.toString());

var decrypyted = CryptoJS.AES.decrypt(encrypted.toString(), key, options );//error in this line.
alert(decrypyted);
alert(decrypyted.toString(CryptoJS.enc.Utf8));

加密工作正常,当我尝试使用javascript解密加密字符串时,我得到了一个错误。一旦我执行解密函数,JS就会停止工作。知道我做错了什么吗?

你的问题是什么?有什么问题吗?当您尝试编写代码时会发生什么?它在哪里(如果有的话)失败了?怎样在不知道这一点的情况下,我们无法提供太多帮助…嗯,您的Java代码看起来像是在解密,而不是加密…请补充您的问题,您会遇到什么错误。要详细说明Jon Skeet的评论,请查看顶部的代码块“Java中的加密”。问题是这是“加密”。但是,cipher.init()是以cipher.DECRYPT_模式传递的。这看起来可疑。不过,也许顶部的块显示Java可以解密在
字符串加密的
中加密的数据。用户3132417,请单击问题下方的“编辑”并澄清此问题?