版本:Cocos 2.4.4

参考:

cocos官网:存储和读取用户数据

npm官网:encryptjs

脚本之家:前端加密cryptojs与JSEncrypt使实例详解

 

目录

一 encryptjs简介

二 下载encryptjs

三 修改encryptjs

四 cocos中使用encryptjs

 

一 encryptjs简介

encryptjs是一个对字符串进行加密和解密的库。

cocos文档里提到了encryptjs进行数据加密,所以来试试。

 

 

二 下载encryptjs

打开命令窗口,输入 npm install encryptjs 下载encryptjs。

 

 

下载好后,复制encryptjs.js和algo.js两个文件到cocos项目下。

 

 

就复制到cocos项目assets/libs/下,不用勾选导入为插件。

 

 

三  修改encryptjs

entryptjs.js中注释掉引用readline和fs的代码,因为写明了Electron doesnt support....不支持,会报错,所以注释掉,反正加密和解密用不上。

 

四 在cocos中使用encryptjs

const { ccclass, property } = cc._decorator;

declare let require: (string) => any;

@ccclass
export default class MainScene extends cc.Component {

    onLoad() {
        //引用encryptjs
        let encrypt = require('encryptjs');
        // 加密密钥
        let secretkey = 'abc';
        //需要加密的数据
        let data = { name: "peter", age: 18 };
        let str = JSON.stringify(data);
        //加密
        let encrypted = encrypt.encrypt(str, secretkey, 256);
        //解密
        let decrypted = encrypt.decrypt(encrypted, secretkey, 256);
        let json = JSON.parse(decrypted);

        console.log("加密前:", data);         //输出:{name: 'peter', age: 18}
        console.log("加密后:", encrypted);    //输出:TgEaqCNrtmPgv5AJobANZOxcPeCgq/h/XQkYpEZPX+z2
        console.log("解密后:", json);         //输出:{name: 'peter', age: 18}
    }
}

 

上面代码使用require会报错,因为typescript找不到require,但是运行时是存在require的,所以需要加一行声明即可。

declare let require: (string) => any;

 

 

 

 

  

  

 

posted on 2023-01-05 15:14  gamedaybyday  阅读(961)  评论(0编辑  收藏  举报