首頁  >  文章  >  微信小程式  >  微信小程式開發功能介紹之加上解密NODE-UUID介紹

微信小程式開發功能介紹之加上解密NODE-UUID介紹

高洛峰
高洛峰原創
2017-03-08 16:57:394207瀏覽

node-uuid可以快速地產生符合 RFC4122 規範 version 1 或 version 4 的 UUID。 js-base64可以實作Base64編碼和解碼,支援UTF-8編碼。 crypto-js 可以非常方便地在 JavaScript 進行 MD5、SHA1、SHA2、SHA3、RIPEMD-160 雜湊雜湊,進行 AES、DES、Rabbit、RC4、Triple DES 加解密。 SJCL是一個由史丹佛大學電腦安全實驗室創立的項目,旨在創建一個安全、快速、短小精悍、易於使用、跨瀏覽器的JavaScript加密庫。


node-uuid

node-uuid可以快速地產生符合RFC4122 規範version 1 或version 4 的UUID(Universally Unique IDentifier, 識別符)。

UUID的出現,是為了在一個複雜的系統中,唯一的標識每個資訊實體,同時不需要有一個集中的id管理。也就是說,根據某種規則來為一個資訊實體分配一個唯一的id,而且不需要一個id管理器來保證這個id的唯一性。

UUID是128位的全域唯一標識符,通常由32位元組的字串表示。它透過MAC位址、時間戳記、命名空間、隨機數、偽隨機數來確保產生ID的唯一性。 version 1 是基於時間戳生成(time-based);version 1 是隨機生成(random(

Version1:

 var uuidv1 = require('../../lib/uuid/we-uuidv1');    console.log(uuidv1()); // 输出:70d47fd0-d250-11e6-9816-45a4888ae4f

Version4:

var uuidv4 = require('../../lib/uuid/we-uuidv4');    console.log(uuidv4()); // 输出:d839476c-ce27-4d24-a431-e96123c1916b

可以設定產生參數

 var v1 = uuidv1({
        node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],
        clockseq: 0x1234,
        msecs: new Date().getTime(),
        nsecs: 5678
    });    console.log(v1); // 输出:908e3a9e-d250-11e6-9234-0123456789ab

js-base64可以實作Base64編碼和解碼,支援UTF-8編碼。 Base64是一種基於64個可列印字元來表示二進位資料的表示方法。有24個比特,對應於4個Base64單元,即3個字節需要用4個可打印字符來表示。數字0-9 ,這樣共有62個字符,此外兩個可打印符號在不同的系統中而不同

#Base64其實是一種簡單的置換加密方式,但是BASE64的用處往往不是為了防止資訊洩露,而且為了方便傳輸,進過BASE64編碼後的資訊會比原始資訊長,大概是4/3倍。

#   

console.log(Base64.encode('Wechat'

));

// 輸出:V2VjaGF0

    # console.log(Base64.encode('微信')); // 輸出:5b6u5L+h解碼:     console.log(Base64.decode('V2VjaGF0'));

##// 輸出:Wechat#   

console.log(Base64.decode('5b6u5L+h')); // 輸出:微信#crypto-js crypto-js 可以非常方便地在JavaScript 進行MD5、SHA1、SHA2、SHA3、RIPEMD-160 雜湊,進行AES、DES、Rabbit、RC4、Triple DES 加解密。 ##CryptoJS (crypto.js) 為JavaScript 提供了各種各樣的加密演算法,目前支援的演算法包括:

MD5

#SHA-1

    #SHA-256
  • AES
  • Rabbit
  • MARC4
  • #HMAC
  • ##HMAC-MD5

  • HMAC-SHA1


  • #HMAC-SHA256
    • #PBKDF2


    • MD5:

    • console.log(CryptoJS.MD5('Wechat').toString()); // 輸出:98ffdc1f1a326c9f73bbe0b78e1d180e

      SHA1:

          console.log(CryptoJS.SHA1('Wechat').toString()); // 輸出:42989457d716a8b89f99c687a41779d4102b5491

      SHA256:

          console.log(CryptoJS.    console.log(CryptoJS.256(atString)#.256(at ); // 輸出: 885e2deda21a6c752f05e9c3ac95c90de31bce4b25ce38c330feee389906c83f#CL#SJCL30feee389906c83f#CL

      #SJCL30fe室創立的項目,旨在創建一個安全、快速、短小精悍、易使用、跨瀏覽器的JavaScript加密庫。

      SJCL使用了業界標準的AES 128, 192, 256位元加密;SHA256 雜湊函數;HMAC驗證碼;PBKDF2密碼加強器;CCM和OCB認證加密模式。

      加密:   

      var enStr = sjcl.encrypt("password", "Wechat");    console.log(enStr);

      解密:   

      var deStr = sjcl.decrypt("password" , enStr);    console.log(deStr);參考資料
      • node-uuid@github

      • js-base64@github

      • crypto-js@github

      • SJCL

      • # #SJCL@github
      • JavaScript Crypto-JS 使用手冊

      • SJCL:史丹佛大學JS加密函式庫



#####

以上是微信小程式開發功能介紹之加上解密NODE-UUID介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn