Introduction to WeChat Mini Program Development Functions: Introduction to Encryption and Decryption NODE-UUID

高洛峰
Release: 2017-03-08 16:57:39
Original
4256 people have browsed it

node-uuid can quickly generate UUIDs that comply with RFC4122 specification version 1 or version 4. js-base64 can implement Base64 encoding and decoding, and supports UTF-8 encoding. crypto-js can easily perform MD5, SHA1, SHA2, SHA3, RIPEMD-160 hashing, and AES, DES, Rabbit, RC4, Triple DES encryption and decryption in JavaScript. SJCL is a project created by the Stanford University Computer Security Laboratory, aiming to create a secure, fast, short and concise, easy-to-use, cross-browser JavaScript encryption library.


##node-uuid

node-uuid can quickly generate RFC4122 specifies the UUID (Universally Unique IDentifier, identifier) ​​of version 1 or version 4.

The emergence of UUID is to uniquely identify each information entity in a complex system without the need for a centralized ID management. That is to say, an information entity is assigned a unique ID according to certain rules, and an ID manager is not required to ensure the uniqueness of this ID.

UUID is a 128-bit globally unique identifier, usually represented by a 32-byte string. It uses MAC address, timestamp, namespace, random number, and pseudo-random number to ensure the uniqueness of the generated ID. version 1 is generated based on timestamp (time-based); version 1 is generated randomly (random(

Version1:

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


Version4:

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

You can set the generation parameters

 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
Copy after login


js-base64 can implement Base64 encoding and decoding, and supports UTF-8 encoding.

Base64 is a representation method of binary data based on 64 printable characters. Since 2 to the 6th power is equal to 64, every 6 bits are a unit, corresponding to a certain printable character. There are 24 bits, corresponding to 4 Base64 units, that is, 3 bytes need to be represented by 4 printable characters. It can be used as the transmission encoding of email. The printable characters in Base64 include the letters A-Z, a-z, Numbers 0-9, so there are 62 characters in total. The other two printable symbols are different in different systems.

Base64 is actually a simple substitution encryption method, but BASE64 The purpose is often not to prevent information leakage, but to facilitate transmission, the BASE64-encoded information will be longer than the original information, about 4/3 times longer.

Encoding:

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

Decoding:

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

crypto-js can easily perform MD5, SHA1, SHA2, SHA3, RIPEMD-160 hashing, and AES, DES, Rabbit, RC4, Triple DES encryption and decryption in JavaScript

#CryptoJS (crypto.js) provides a variety of encryption algorithms for JavaScript. Currently supported algorithms include:

  • MD5

  • SHA-1

  • SHA-256

  • AES

  • Rabbit

  • MARC4

  • HMAC


    • HMAC-MD5

    • HMAC-SHA1

    • HMAC-SHA256


  • PBKDF2


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

SHA1:

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

SHA256:

console.log(CryptoJS.SHA256('Wechat').toString() ; A project founded by the team's office, it aims to create a secure, fast, short and concise, easy-to-use, cross-browser JavaScript encryption library. SJCL uses industry-standard AES 128, 192, 256-bit encryption; SHA256 hash function; HMAC verification code; PBKDF2 password strengthener; CCM and OCB authentication encryption modes.

Encryption:

var enStr = sjcl.encrypt("password"

,

"Wechat"); console

.log(enStr);Decryption: var deStr = sjcl.decrypt("password" , enStr);

console.log(deStr);Reference materials

node-uuid@githubjs-base64@github
  • crypto-js@github

  • ##SJCL

  • SJCL@github

  • JavaScript Crypto-JS User Manual

  • SJCL: Stanford University JS Crypto Library



The above is the detailed content of Introduction to WeChat Mini Program Development Functions: Introduction to Encryption and Decryption NODE-UUID. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!