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

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

巴扎黑
巴扎黑原創
2017-04-01 15:32:252515瀏覽

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:


##[AppleScript]

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


Version4:

[AppleScript] 

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

#可以設定產生參數##[AppleScript] 

 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編碼。表示二進位資料的表示方法。個位元組需要用4個可列印字符來表示。可列印符號在不同的系統中而不同

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

'Wechat'));

// 輸出:V2VjaGF0

    console

.log(Base64.encode(

'微信'));

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

'5b6u5L+h'));

// 輸出:微信crypto-jscrypto-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(##''WechatWech ').toString()); // 輸出:42989457d716a8b89f99c687a41779d4102b5491SHA256:## ##o#. log(CryptoJS.SHA256(

    'Wechat').toString());

    // 輸出: 885e2deda21a6c752f05e9c3ac95c90de31bce4b25ce38c330#138#J30f31b##4b25ce38c30#\3832##\Sw3f3f#w\325ce38c30SJCL(史丹佛大學Javascript加密庫簡稱),是一個由史丹佛大學電腦安全實驗室創立的項目,旨在創建一個安全、快速、短小精悍、易使用、跨瀏覽器的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@githubjs-base64@githubcrypto-js@github
    • SJCL
    • # #SJCL@github

    • JavaScript Crypto-JS 使用手冊

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

    • #其他

    • 完整程式碼:
      https://github.com/guyoung/GyWxappCases/tree/master/Enhance

    #微信小程式Canvas增強元件WeZRender:
      https://github.com/guyoung/WeZRender

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

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