암호화 기술은 일반적으로 "대칭"과 "비대칭"이라는 두 가지 범주로 나뉩니다.
대칭 암호화 :
이는 암호화 및 암호 해독이 일반적으로 "세션 키"라고하는 동일한 키를 사용한다는 것을 의미합니다. 이 암호화 기술은 오늘날 널리 사용됩니다. 예를 들어, 미국 정부가 채택한 DES 암호화 표준은 전형적인 "대칭"암호화 방법이며 세션 키 길이는 56 비트입니다.
비대칭 암호화 :
즉, 암호화 및 암호 해독 사용은 동일한 키가 아니라 "공개 키"와 "개인 키"라는 두 개의 키가 있습니다. 그렇지 않으면 암호화 된 파일을 열 수 없습니다.
암호화는 시스템에서 자주 사용되는 기능입니다. 노드에는 강력한 암호화 기능 암호화가 제공됩니다. 다음은 간단한 예제입니다.
1. 암호화 모듈에 대한 참조 :
var crypto = require ( 'crypto'); var $ = required ( 'aUndscore'); var defaults = {encoding : {input : 'utf8', 출력 : 'hex'}, 알고리즘 : [ 'bf', 'blowfish', 'aes-128-cbc']};기본 암호화 알고리즘 구성 항목 :
입력 데이터 형식은 UTF8이고 출력 형식은 16 진수입니다.
이 알고리즘은 BF, Blowfish 및 AES-128-ABC의 세 가지 암호화 알고리즘을 사용합니다.
2. 구성 항목 초기화 :
함수 mixcrypto (옵션) {if (typeof 옵션 == '문자열') 옵션 = {키 : 옵션}; 옵션 = $ .extend ({}, 기본값, 옵션); this.key = 옵션 .key; this.inputencoding = 옵션 .encoding.input; this.outputencoding = 옵션. Encoding.output; this.algorithms = 옵션. angorithms;}암호화 알고리즘을 구성 할 수 있으며 구성 옵션을 통해 다른 암호화 알고리즘 및 인코딩을 사용할 수 있습니다.
3. 암호화 방법 코드는 다음과 같습니다.
mixCrypto.prototype.encrypt = function (plainText) {return $ .reduce (this.Algorithms, function (memo, a) {var cipher = crypto.createCipher (a, this.key); return cipher.update (memo, this.inputencoding, this.outputencoding) + cipher.final (this.futencoding) + cipher.final. 이것);};암호화를 사용하여 데이터를 암호화하십시오.
4. 암호 해독 방법 코드는 다음과 같습니다.
mixcrypto.prototype.decrypt = function (crypted) {try {return $ .retuceright (this.algorithms, function (memo, a) {var decipher = crypto.createdecipher (a, this.key); return decipher.update (메모, this.outputencoding, this.inputencoding) +. Decipher.final (this.inputencoding); } catch (e) {return; }};암호화를 사용하여 데이터를 해독하십시오.
암호화 및 암호 해독 알고리즘은 밑줄의 감소 및 환원 적 방법을 통해 실행됩니다.
이 기사는 Min Shao가 작성한 알고리즘을 기반으로 작성되었습니다. 단점이 있다면 용서 해주세요. 신인이 도로에 있고 앞으로 나아가고 있습니다.
Nodejs 암호화 암호화의 위의 예제 코드는 내가 공유하는 모든 컨텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.