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

WeChat 애플릿 개발 기능 소개: 암호화 및 복호화 NODE-UUID

巴扎黑
巴扎黑원래의
2017-04-01 15:32:252387검색

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은 무작위로 생성됩니다(random(

Version1:


[AppleScript]

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

버전4:

[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 인코딩을 지원합니다.

Base64는 64개의 인쇄 가능한 문자를 기반으로 합니다. 2의 6승은 64이므로 각 6비트는 특정 인쇄 가능한 문자의 24비트에 해당하는 단위이며 4개의 Base64 단위, 즉 3에 해당합니다. 바이트는 다음과 같이 표현되어야 합니다. 4개의 인쇄 가능한 문자입니다. Base64의 인쇄 가능한 문자에는 문자 A-Z, a-z, 숫자 0-9가 포함되므로 총 62개의 문자가 있으며 나머지 2개는 시스템에 따라 다릅니다.

Base64는 실제로는 단순한 대체 암호화 방법이지만, BASE64를 사용하는 이유는 정보 유출을 방지하기 위한 것이 아니라 전송을 용이하게 하기 위한 것입니다. BASE64로 인코딩된 정보는 원래 정보보다 길어집니다. , 약 4/3번

인코딩:

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

console

.log(Base64.decode('V2VjaGF0'));// 출력: Wechat 콘솔.log(Base64.decode('5b6u5L+h')); 🎜>// 출력: WeChatcrypto-jscrypto-js는 매우 편리하게 MD5, SHA1, SHA2, SHA3, RIPEMD-160을 수행할 수 있습니다. 해싱, JavaScript의 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:

    console.log(CryptoJS.SHA1('We 채팅 ').toString()) // 출력: 42989457d716a8b89f99c687a41779d4102b5491

    SHA256:

    >콘솔 .로그( CryptoJS.SHA256('Wechat').toString()); // 출력: 885e2deda21a6c752f05e9c3ac95c90de31bce4b25ce38c330feee389906c83fSJCL

    SJCL(Stanford University Javascript Encryption Library)은 안전하고 빠르며 짧고 간결하며 사용하기 쉬운 크로스 브라우저 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


    기타
    • 풀코드:

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

    • WeChat 애플릿 Canvas 강화 구성 요소 WeZRender:

      https://github.com/guyoung/WeZRender

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

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