>  기사  >  위챗 애플릿  >  WeChat Mini 프로그램 개발 기능 소개: 암호화 및 복호화 소개 NODE-UUID

WeChat Mini 프로그램 개발 기능 소개: 암호화 및 복호화 소개 NODE-UUID

高洛峰
高洛峰원래의
2017-03-08 16:57:394255검색

node-uuid는 RFC4122 사양 버전 1 또는 버전 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를 빠르게 생성할 수 있습니다. 버전 1 또는 버전 4의 UUID(Universally Unique IDentifier, 식별자)를 지정합니다.

UUID의 출현은 중앙 집중식 ID 관리가 필요 없이 복잡한 시스템에서 각 정보 개체를 고유하게 식별하는 것입니다. 즉, 정보개체에는 일정한 규칙에 따라 고유한 ID가 할당되며, ID 관리자는 이 ID의 고유성을 보장할 필요가 없습니다.

UUID는 128비트 전역 고유 식별자이며 일반적으로 32바이트 문자열로 표시됩니다. 생성된 ID의 고유성을 보장하기 위해 MAC 주소, 타임스탬프, 네임스페이스, 난수 및 의사 난수를 사용합니다. 버전 1은 타임스탬프를 기준으로 생성됩니다(시간 기반). 버전 1은 무작위로 생성됩니다(무작위(

버전 1:

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

버전 4:

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개의 인쇄 가능한 문자를 기반으로 한 이진 데이터 방식입니다. 2의 6승은 64이므로 6비트마다 특정 인쇄 가능한 문자에 해당하는 24비트가 있으며 이는 4개의 Base64 단위, 즉 3개입니다. 바이트는 인쇄 가능한 4개의 문자로 표시되어야 합니다. Base64의 인쇄 가능한 문자에는 A-Z, a-z, 숫자 0-9가 포함되므로 나머지 2개의 문자가 인쇄 가능합니다. 기호는 시스템마다 다릅니다

Base64는 실제로 간단한 대체 암호화 방법이지만 BASE64 목적은 정보 유출을 방지하는 것이 아니라 전송을 용이하게 하기 위한 경우가 많습니다. BASE64로 인코딩된 정보 원래 정보보다 약 4/3배 더 길어집니다

인코딩:

console.log(Base64.encode( '위챗'

)) // 출력: V2VjaGF0 console.log(Base64.encode('WeChat') ); // 출력: 5b6u5L+h디코딩:

콘솔.log(Base64.decode('V2VjaGF0'

)); // 출력: Wechat console.log(Base64.decode('5b6u5L+h' )); // 출력: WeChatcrypto-js crypto-js는 MD5, SHA1, SHA2, JavaScript의 SHA3, RIPEMD-160 해싱 및 AES, DES, Rabbit, RC4, Triple DES 암호화 및 복호화 기능을 제공하는 CryptoJS(crypto.js)는 JavaScript에 대한 다양한 암호화 알고리즘을 제공합니다. 현재 지원되는 알고리즘은 다음과 같습니다:

MD5

SHA-1

  • SHA -256

  • AES

  • 토끼

  • MARC4

  • HMAC

  • HMAC-MD5

  • HMAC-SHA1
    • HMAC-SHA256

    • PBKDF2

    MD5:
  • 콘솔.log(CryptoJS.MD5('Wechat').toString()) // 출력: 98ffdc1f1a326c9f73bbe0b78e1d180e

    SHA1:

    콘솔.log(CryptoJS.SHA1('Wechat').toString()) // 출력 :42989457d716a8b89f99c687a41779d4102b5491

    SHA256:

    콘솔.log(CryptoJS.SHA256( 'Wecha t').toString() Cryptobase(약칭 Cryptobase)는 스탠포드 대학의 컴퓨터 보안 실험으로 팀 사무실에서 설립한 프로젝트로, 안전하고 빠르며 짧고 간결하며 사용하기 쉬운 크로스 브라우저 JavaScript 암호화 라이브러리를 만드는 것을 목표로 합니다. SJCL은 업계 표준 AES 128, 192, 256비트 암호화, HMAC 인증 코드, CCM 및 OCB 인증 암호화 모드를 사용합니다.

    암호화:

    var enStr = sjcl.encrypt("password"

    ,

    "Wechat"); 콘솔

    .log(enStr);복호화: var deStr = sjcl.decrypt("password" , enStr)

    콘솔.log(deStr);참조

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

    • SJCL

    • SJCL@github

    • JavaScript Crypto-JS 사용자 매뉴얼

    • SJCL: Stanford University JS Crypto Library



위 내용은 WeChat Mini 프로그램 개발 기능 소개: 암호화 및 복호화 소개 NODE-UUID의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.