收藏
回答

使用crypto-js库

问题模块
API和组件

从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安装为基础进行的示例说明,参考不了。

最后一次编辑于  2017-09-02  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

4 个回答

  • Yuzifu
    Yuzifu
    2017-09-02

    感谢回复,查清楚了,是git库跟npm安装的文件不同,我用npm安装了crypto-js,把这些文件引入就没问题了,比较了下git库和npm安装的,确实不同:


    2017-09-02
    赞同
    回复 1
    • 多多
      多多
      10-23
      你这个怎么解决的,我现在也是遇到同样的问题
      10-23
      回复
  • 郑洪智
    郑洪智
    2017-09-02

    你引入文件不全吧?需要把所有的文件都放进来的,如果想精简需要看下文档,你把crypto-js.js放进去试试

    2017-09-02
    赞同
    回复
  • Yuzifu
    Yuzifu
    2017-09-02


    我是把cryptojs文件直接放在要目录下的

    2017-09-02
    赞同
    回复
  • 郑洪智
    郑洪智
    2017-09-02

    var base64 = require("../../../lib/crypto/enc-base64")

    var HmacSHA1 = require("../../../lib/crypto/hmac-sha1")

    var utf8 = require("../../../lib/crypto/enc-utf8")


    这么使用过,没什么问题呀


    2017-09-02
    赞同
    回复