CocosCreator中使用RSA公钥加密

首先
我们先在cocos编辑器中引入jsencrypt.min.js这个文件。(如图)

《CocosCreator中使用RSA公钥加密》

此时它会提示你“是否将当前载入的jsencrypt.min.js脚本设置为插件”,因为我们引入的js文件是第三方的插件,所以,我们选择是。(如图)
《CocosCreator中使用RSA公钥加密》

然后进行下一步(如图)
《CocosCreator中使用RSA公钥加密》

这时候,控制台会有这样的提示(如图)
《CocosCreator中使用RSA公钥加密》

我们打开jsencrypt.min.js这个文件,把第一行的 var JSEncryptExports 改为 window.JSEncryptExports (如图)
《CocosCreator中使用RSA公钥加密》

此时,我们就完成了“jsencrypt.min.js”这个外部插件脚本的引入。具体内容,请看官方文档

下一步
我创建了一个 Label 节点。并将该节点名字改为 public ,编辑 Label 组件的 string 属性,填入我们的公钥。并将该节点隐藏。(如图) 当然你也可以用其他方式,来让你在写脚本文件时获取到公钥的字符串。
《CocosCreator中使用RSA公钥加密》

接下来
我们将会把 得到加密后的内容 的逻辑放在 HelloWorld 脚本里,打开 HelloWorld 脚本开始编辑,首先在properties区块的最后添加我们刚刚添加的名为 public 的 Label 组件的引用属性:

//HelloWorld.js
properties: {
    // ...
    // public label 的引用
    public: {
        default: null,
        type: cc.Label
    }
},

保存 HelloWorld 脚本后,回到层级管理器,选中 Canvas 节点,然后把前面添加好的 public 节点拖拽到 属性检查器 里 HelloWorld 组件的 public 属性中。(如图)
《CocosCreator中使用RSA公钥加密》

然后,在 HelloWorld 脚本里添加名为 getJiaMi 的方法

//HelloWorld.js
getJiaMi: function () {
    //我这里就随便写一个密码了
    var passWord = "aaabbb";
    //获取 public 里面的写好的公钥
    var publicKey = this.public.string;
    
    var encrypt = new JSEncrypt();
    //放入你的公钥
    encrypt.setPublicKey(publicKey);
    //加密后的内容
    var encryptData = encrypt.encrypt(passWord);
    //打印出加密的内容
    console.log(encryptData);
}

这样,获取加密后的内容 的方法就写好了。
然后,我直接在 onLoad 方法里调用刚添加的 getJiaMi 方法,onLoad方法会在场景加载后立刻执行,这样,在我刚进入场景的时候就会获得加密的内容了。

//HelloWorld.js
onLoad: function () {
    this.getJiaMi();
}

保存。点击 Cocos Creator 编辑器上方正中的预览游戏按钮。打开浏览器的控制台,我们就会看到我们获得的加密后的内容啦!(如图)
《CocosCreator中使用RSA公钥加密》

第一次写文章,可能写的不太好,希望各位大神见谅( ̄▽ ̄)~*

    原文作者:prince
    原文地址: https://segmentfault.com/a/1190000015799854
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞