Maison >Applet WeChat >Développement de mini-programmes >Introduction aux fonctions de développement du programme WeChat Mini : Introduction au cryptage et au déchiffrement NODE-UUID

Introduction aux fonctions de développement du programme WeChat Mini : Introduction au cryptage et au déchiffrement NODE-UUID

高洛峰
高洛峰original
2017-03-08 16:57:394316parcourir

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ée sur le temps) ; la version 1 est générée de manière aléatoire (

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

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

 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 une méthode de représentation basée sur 64 caractères imprimables pour représenter des données binaires. Puisque 2 à la puissance 6 est égal à 64, tous les 6 bits sont une unité, correspondant à un certain caractère imprimable. Trois octets ont 24 bits, correspondant à 4 unités Base64, c'est-à-dire que 3 octets doivent être représentés par 4 caractères imprimables. Ils peuvent être utilisés comme caractères imprimables en Base64, y compris les lettres A-Z, a-z et les chiffres 0-9. il y a 62 caractères au total. De plus, les deux symboles imprimables sont différents selon les systèmes

Base64 est en fait une simple méthode de cryptage de remplacement, mais le but de BASE64 n'est souvent pas d'empêcher. fuite d'informations, et pour faciliter la transmission, les informations codées en BASE64 seront plus longues que les informations d'origine, 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 en JavaScript et effectuer le cryptage et le décryptage AES, DES, Rabbit, RC4, Triple DES

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:

console.log(CryptoJS.SHA256( 'Wechat').toString() CryptoLibrary (en abrégé CryptoLibrary) est une expérience de sécurité informatique menée par l'Université de Stanford. Un projet fondé par le bureau de l'équipe, il vise à créer une bibliothèque de cryptage JavaScript multi-navigateurs sécurisée, rapide, courte et concise. . 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



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