CocosCreator中使用RSA公钥加密

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

图片描述html

此时它会提示你“是否将当前载入的jsencrypt.min.js脚本设置为插件”,由于咱们引入的js文件是第三方的插件,因此,咱们选择是。(如图)
![图片描述浏览器

而后进行下一步(如图)
图片描述编辑器

这时候,控制台会有这样的提示(如图)
图片描述this

咱们打开jsencrypt.min.js这个文件,把第一行的 var JSEncryptExports 改成 window.JSEncryptExports (如图)
图片描述加密

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

下一步
我建立了一个 Label 节点。并将该节点名字改成 public ,编辑 Label 组件的 string 属性,填入咱们的公钥。并将该节点隐藏。(如图) 固然你也能够用其余方式,来让你在写脚本文件时获取到公钥的字符串。
图片描述插件

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

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

保存 HelloWorld 脚本后,回到层级管理器,选中 Canvas 节点,而后把前面添加好的 public 节点拖拽到 属性检查器 里 HelloWorld 组件的 public 属性中。(如图)
图片描述htm

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

//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 编辑器上方正中的预览游戏按钮。打开浏览器的控制台,咱们就会看到咱们得到的加密后的内容啦!(如图)
图片描述

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

相关文章
相关标签/搜索