首先
我们先在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.jsproperties: { // ... // public label 的引用 public: { default: null, type: cc.Label }},
保存 HelloWorld 脚本后,回到层级管理器,选中 Canvas 节点,然后把前面添加好的 public 节点拖拽到 属性检查器 里 HelloWorld 组件的 public 属性中。(如图)
然后,在 HelloWorld 脚本里添加名为 getJiaMi 的方法
//HelloWorld.jsgetJiaMi: 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.jsonLoad: function () { this.getJiaMi();}
保存。点击 Cocos Creator 编辑器上方正中的预览游戏按钮。打开浏览器的控制台,我们就会看到我们获得的加密后的内容啦!(如图)
第一次写文章,可能写的不太好,希望各位大神见谅( ̄▽ ̄)~*