Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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
Javascript 与使用CryptoJS加密openssl_相同的加密方法_Javascript_Encryption - Fatal编程技术网

Javascript 与使用CryptoJS加密openssl_相同的加密方法

Javascript 与使用CryptoJS加密openssl_相同的加密方法,javascript,encryption,Javascript,Encryption,我正在使用的API只接受使用以下openssl_加密公式加密的JSON对象数据: data=openssl\u加密(正文“aes-256-cbc”、密文+api\u密钥、openssl\u原始数据、密文) 来自API的所有响应也以同样的方式进行加密。我是否可以使用CryptoJS实现相同的加密格式,以便API接受我的加密数据请求 以下是我目前对CryptoJS的了解 var encryptedData = CryptoJS.AES.encrypt(JSON.stringify(body), 'a

我正在使用的API只接受使用以下openssl_加密公式加密的JSON对象数据:

data=openssl\u加密(正文“aes-256-cbc”、密文+api\u密钥、openssl\u原始数据、密文)

来自API的所有响应也以同样的方式进行加密。我是否可以使用CryptoJS实现相同的加密格式,以便API接受我的加密数据请求

以下是我目前对CryptoJS的了解

var encryptedData = CryptoJS.AES.encrypt(JSON.stringify(body), 'aes-256-cbc', ciphertext + apikey, ciphertext);
var decryptedData = CryptoJS.AES.decrypt(encryptedData.toString(), 'aes-256-cbc', ciphertext + apikey, ciphertext);
var decryptedObjectData = JSON.parse(decryptedData.toString(CryptoJS.enc.Utf8));
console.log(decryptedObjectData); 
当我用这段代码加密并解密数据时,它就工作了。但是当我从API接收到加密数据并尝试用这个CyptoJS对其进行解密时,它告诉我UTF-8的格式不正确。类似地,当我尝试使用CryptoJS加密数据以供API接受时,我会得到一个“错误的请求”响应,这意味着加密不被接受


我是通过CryptoJS进行加密的,因为我是加密新手,不知道如何在我的应用程序中使用openssl_encrypt。但是如果有人能教我,那就太好了。我不知道如何在我的服务器上用php运行openssl_encrypt并让我的JS应用程序运行它。AJAX是在应用程序的服务器上调用脚本的方法吗

你的名字很混乱。在写“密文”的地方应该写“iv”。您是否验证了iv+apiKey实际上正好是32字节长(因为如果它不是CryptoJS,则假定它是一个密码短语,并从中派生密钥)。请注意,“公式”是指的伪PHP代码。您的名字非常混乱。在写“密文”的地方应该写“iv”。您是否验证了iv+apiKey实际上正好是32字节长(因为如果它不是CryptoJS,则假定它是一个密码短语,并从中派生密钥)。记录在案:“公式”是指的伪PHP代码。