Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.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无方法混合_Javascript_Jquery_Cryptojs - Fatal编程技术网

Javascript CryptoJS无方法混合

Javascript CryptoJS无方法混合,javascript,jquery,cryptojs,Javascript,Jquery,Cryptojs,我的浏览器(Chrome)中出现以下错误: 以下是源代码: <script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl ?>/js/jQuery.js"></script> <script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl ?>

我的浏览器(Chrome)中出现以下错误:

以下是源代码:

<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl ?>/js/jQuery.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl ?>/js/cryptojs/rollups/sha1.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl ?>/js/cryptojs/rollups/aes.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl ?>/js/cryptojs/rollups/pbkdf2.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl ?>/js/cryptojs/rollups/sha3.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl ?>/js/Basic.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl ?>/js/Auth.js"></script>
以及这些功能的用法:

data["name"] = encrypt(data["name"], recall("key"));
data["text"] = encrypt(data["text"], recall("key"));
以下是指向CryptoJS库的链接:


有什么我没有做的吗?

这是一个老问题,但我遇到了同样的问题。问题在于CryptoJS.AES.encrypt方法返回的是一个对象,而不是字符串

您只需修改加密函数,如下所示:

function encrypt(data, key) {
   return CryptoJS.AES.encrypt(data, key).toString();
}
同样,decrypt函数还返回一个对象,以便获得字符串使用:

function decrypt(data, key) {
   return CryptoJS.AES.decrypt(data, key).toString(CryptoJS.enc.Utf8);
}

这是一个老问题,但我遇到了同样的问题。问题在于CryptoJS.AES.encrypt方法返回的是一个对象,而不是字符串

您只需修改加密函数,如下所示:

function encrypt(data, key) {
   return CryptoJS.AES.encrypt(data, key).toString();
}
同样,decrypt函数还返回一个对象,以便获得字符串使用:

function decrypt(data, key) {
   return CryptoJS.AES.decrypt(data, key).toString(CryptoJS.enc.Utf8);
}