1

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

图片描述

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

然后进行下一步(如图)
图片描述

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

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

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

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

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

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

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

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

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


prince
2 声望0 粉丝