Maison  >  Article  >  Applet WeChat  >  Introduction aux fonctions de développement d'applets WeChat : chiffrement et déchiffrement NODE-UUID

Introduction aux fonctions de développement d'applets WeChat : chiffrement et déchiffrement NODE-UUID

巴扎黑
巴扎黑original
2017-04-01 15:32:252473parcourir

node-uuid peut générer rapidement des UUID conformes à la spécification RFC4122 version 1 ou version 4. js-base64 peut implémenter l'encodage et le décodage Base64 et prend en charge l'encodage UTF-8. crypto-js peut facilement effectuer le hachage MD5, SHA1, SHA2, SHA3, RIPEMD-160 ainsi que le cryptage et le décryptage AES, DES, Rabbit, RC4, Triple DES en JavaScript. SJCL est un projet créé par le laboratoire de sécurité informatique de l'université de Stanford, visant à créer une bibliothèque de chiffrement JavaScript multi-navigateurs sécurisée, rapide, courte et concise, facile à utiliser.


node-uuid

node-uuid peut générer rapidement la RFC4122 correspondante précise l'UUID (Universally Unique IDentifier, identifiant) de la version 1 ou de la version 4.

L'émergence de l'UUID consiste à identifier de manière unique chaque entité d'information dans un système complexe sans avoir besoin d'une gestion centralisée des identifiants. C'est-à-dire qu'une entité d'information se voit attribuer un identifiant unique selon certaines règles, et qu'un gestionnaire d'identifiant n'est pas tenu de garantir l'unicité de cet identifiant.

UUID est un identifiant unique au monde de 128 bits, généralement représenté par une chaîne de 32 octets. Il utilise l'adresse MAC, l'horodatage, l'espace de noms, le nombre aléatoire et le nombre pseudo-aléatoire pour garantir l'unicité de l'ID généré. la version 1 est générée en fonction de l'horodatage (basé sur le temps) ; la version 1 est générée de manière aléatoire (

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

Vous pouvez définir les paramètres de génération

[ 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 peut implémenter l'encodage et le décodage Base64 et prend en charge l'encodage UTF-8

Base64 est un. méthode basée sur 64 caractères imprimables est utilisée pour représenter des données binaires. Puisque 2 à la puissance 6 est égal à 64, chaque 6 bits est une unité, correspondant à un certain caractère imprimable, et il y a 24 bits dans trois octets, ce qui correspond à 4. Une unité Base64, c'est-à-dire 3 octets, doit être représentée par 4 caractères imprimables. Elle peut être utilisée comme codage de transmission du courrier électronique. Les caractères imprimables en Base64 incluent les lettres A-Z, a-z et les chiffres 0-9. contiennent 62 caractères au total, et les deux autres symboles imprimables sont différents selon les systèmes

Base64 est en fait une simple méthode de cryptage par substitution, mais le but de BASE64 n'est souvent pas d'empêcher les informations. fuite , et afin de faciliter la transmission, les informations codées en BASE64 seront plus longues que les informations originales, environ 4/3 fois

Encodage :

console. .log(Base64.encode('Wechat')); // Sortie : V2VjaGF0 console.log (Base64 .encode('WeChat')); // Sortie : 5b6u5L+h

Décodage :

console.log(Base64.decode('V2VjaGF0')); // Sortie : Wechat console .log (Base64.decode('5b6u5L+h')); // Sortie : WeChatcrypto-js

crypto-js peut facilement effectuer le hachage MD5, SHA1, SHA2, SHA3, RIPEMD-160, ainsi que le cryptage et le décryptage AES, DES, Rabbit, RC4, Triple DES en JavaScript.

CryptoJS (crypto.js) fournit une variété d'algorithmes de chiffrement pour JavaScript. Les algorithmes actuellement pris en charge incluent :

  • MD5

  • SHA-1

  • SHA-256

  • AES

  • Lapin

  • MARC4

  • HMAC


    • HMAC- MD5

    • HMAC-SHA1

    • HMAC-SHA256


  • PBKDF2


MD5:

console.log(CryptoJS.MD5('Wechat').toString()); // Sortie : 98ffdc1f1a326c9f73bbe0b78e1d180e

SHA1 :

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

SHA256 :

>journal de la console. CryptoJS.SHA256('Wechat').toString()); // Sortie : 885e2deda21a6c752f05e9c3ac95c90de31bce4b25ce38c330feee389906c83fSJ CL

SJCL (Stanford University Javascript Encryption Library) est un projet fondé par le laboratoire de sécurité informatique de l'université de Stanford, visant à créer une bibliothèque de cryptage JavaScript multi-navigateurs sûre, rapide, courte et concise, facile à utiliser.

SJCL utilise le cryptage AES 128, 192, 256 bits standard ; la fonction de hachage SHA256 ; le renforcement du mot de passe PBKDF2 ;

Cryptage :

var enStr = sjcl.encrypt("mot de passe", "Wechat"); console.log(enStr);

Déchiffrement :

var deStr = sjcl.decrypt("mot de passe" , enStr); console.log(deStr);Références
  • node-uuid@github

  • js-base64@github

  • crypto-js@github

  • SJCL

  • SJCL@github

  • Manuel d'utilisation JavaScript Crypto-JS

  • SJCL : Bibliothèque de cryptographie JS de l'Université de Stanford


Autres
  • Code complet :

    https://github.com/guyoung/GyWxappCases/tree/master/Enhance

  • Applet WeChat Composant amélioré Canvas WeZRender :

    https://github.com/guyoung/WeZRender

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn