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 編輯器上方正中的預覽遊戲按鈕。打開瀏覽器的控制檯,咱們就會看到咱們得到的加密後的內容啦!(如圖)
圖片描述

第一次寫文章,可能寫的不太好,但願各位大神見諒( ̄▽ ̄)~*

相關文章
相關標籤/搜索