从github下载了几个文件,在网页测试是成功的。
<html>
<head>
<script src="./core.js" type="text/javascript"></script>
<script src="./cipher-core.js" type="text/javascript"></script>
<script src="./aes.js" type="text/javascript"></script>
<script src="./pad-zeropadding.js" type="text/javascript"></script>
<script type="text/javascript">
var data = "Test String";
var key = CryptoJS.enc.Latin1.parse('1234567812345678');
var iv = CryptoJS.enc.Latin1.parse('1234567812345678');
//加密
var encrypted = CryptoJS.AES.encrypt(data, key, {
iv: iv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.ZeroPadding
});
//解密
var decrypted = CryptoJS.AES.decrypt(encrypted, key, {
iv: iv,
padding: CryptoJS.pad.ZeroPadding
});
console.log(decrypted.toString(CryptoJS.enc.Utf8));
</script>
</head>
</html>
但是在小程序的页面js文件里,仅仅是包含文件进来就报错了:
var core = require('../../core')
var cipher = require('../../cipher-core')
var config = require('../../config')
var aes = require('../../aes')
var pad = require('../../pad-zeropadding')
出错信息说是CryptoJS未定义,在github里的文档都是以npm安装为基础进行的示例说明,参考不了。
感谢回复,查清楚了,是git库跟npm安装的文件不同,我用npm安装了crypto-js,把这些文件引入就没问题了,比较了下git库和npm安装的,确实不同:
你引入文件不全吧?需要把所有的文件都放进来的,如果想精简需要看下文档,你把crypto-js.js放进去试试
我是把cryptojs文件直接放在要目录下的
var base64 = require("../../../lib/crypto/enc-base64")
var HmacSHA1 = require("../../../lib/crypto/hmac-sha1")
var utf8 = require("../../../lib/crypto/enc-utf8")
这么使用过,没什么问题呀