암호화 모듈을 호출하려면 요구 사항 ( 'crypto')을 사용하십시오.
암호화 모듈에는 기본 시스템에서 OpenSSL의 지원이 필요합니다. HTTPS 보안 네트워크 및 일반 HTTP 연결에 사용할 수있는 보안 자격 증명을 캡슐화하는 방법을 제공합니다.
이 모듈은 또한 OpenSSL 's HASH (HASH), HMAC (키 해시), 암호 (인코딩), 해독 (디코딩), 부호 (부호) 및 검증 (검증)에 대한 캡슐화 세트를 제공합니다.
crypto.CreateCredentials (세부 사항)
옵션 매개 변수 세부 정보가있는 자격 증명 객체를 키 값을 가진 사전으로 만듭니다.
키 : 문자열 유형 인 개인 키, pem-encoded.
CERT : 문자열 유형, PEM 인코딩 인증 인증서.
CA : 문자열 양식의 신뢰할 수있는 CA 인증서 또는 인증서 목록의 PEM 인코딩 된 CA 인증서.
'CA'에 대한 세부 정보가 제공되지 않으면 Node.js는 http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt에있는 기본 공개 신뢰할 수있는 목록을 사용합니다.
crypto.createhash (알고리즘)
해시 다이제스트를 생성하는 데 사용되는 지정된 알고리즘의 암호화 된 해시 인 해시 객체를 생성하고 반환합니다.
매개 변수 알고리즘은 시스템에 설치된 OpenSSL 버전에서 지원하는 알고리즘을 선택할 수 있습니다. 예를 들어 'SHA1', 'MD5', 'SHA256', 'SHA512'등. 최근 릴리스에서 OpenSSL List-Message Incest-algorithms는 이러한 사용 가능한 다이제스트 알고리즘을 표시합니다.
해시 (데이터)
해시의 내용을 지정된 데이터로 업데이트하십시오. 이 방법은 스트리밍 데이터를 사용할 때 여러 번 호출 될 수 있습니다.
hash.digest (인코딩 = 'binary')
모든 들어오는 데이터의 해시 요약을 계산합니다. 인코딩 매개 변수는 'hex', 'binary'또는 'base64'일 수 있습니다.
crypto.createhmac (알고리즘, 키)
알고리즘과 키를 지정하는 암호화 된 HMAC 인 HMAC 객체를 생성하고 반환합니다.
파라미터 알고리즘은 위의 OpenSSL-See CreateHash에 의해 선택 될 수 있습니다. 매개 변수 키는 HMAC에서 사용하는 키입니다.
hmac.update (데이터)
지정된 데이터로 HMAC 컨텐츠를 업데이트하십시오. 이 방법은 스트리밍 데이터를 사용할 때 여러 번 호출 될 수 있습니다.
hmac.digest (encoding = 'binary')
모든 들어오는 데이터의 HMAC 다이제스트를 계산합니다. 인코딩 매개 변수는 'hex', 'binary'또는 'base64'일 수 있습니다.
crypto.createcipher (알고리즘, 키)
지정된 알고리즘과 키를 사용하여 암호 객체를 작성하고 반환합니다.
매개 변수 알고리즘은 'AES192'등과 같은 OpenSSL에서 지원하는 알고리즘을 선택할 수 있습니다. 최근 릴리스에서 OpenSSL List-Cipher-Algorithms는 사용 가능한 암호화 알고리즘을 표시합니다.
cipher.update (data, input_encoding = 'binary', output_encoding = 'binary')
매개 변수 데이터를 사용하여 암호화 할 컨텐츠를 업데이트하고 인코딩 메소드는 'UTF8', 'ASCII'또는 'BINARY'일 수있는 매개 변수 Input_Encoding으로 지정됩니다. 매개 변수 output_encoding은 암호화 된 컨텐츠의 출력 인코딩 방법을 지정하며, 이는 'Binary', 'base64'또는 'hex'일 수 있습니다.
스트리밍 데이터를 사용할 때 여러 번 호출 될 수있는 암호화 된 컨텐츠를 반환합니다.
cipher.final (output_encoding = 'binary')
나머지 암호화 된 모든 컨텐츠를 반환하면 output_encoding 출력은 '바이너리', 'ASCII'또는 'UTF8'중 하나로 인코딩됩니다.
crypto.createdecipher (알고리즘, 키)
주어진 알고리즘과 키를 사용하여 해독 된 객체를 작성하고 반환하십시오. 이 객체는 위에서 언급 한 암호화 된 객체의 역 작동입니다.
Decipher.update (data, input_encoding = 'binary', output_encoding = 'binary')
매개 변수 데이터를 사용하여 해독 할 컨텐츠를 업데이트하면 인코딩은 'Binary', 'Base64'또는 'Hex'입니다. 매개 변수 output_encoding은 해독 된 일반 텍스트 컨텐츠의 출력 인코딩 방법을 지정하며, 이는 '바이너리', 'ASCII'또는 'UTF8'일 수 있습니다.
Decipher.final (output_encoding = 'Binary')
output_encoding '은'binary ','ascii '또는'utf8 '중 하나 인 나머지 암호 해독 된 일반 텍스트를 반환합니다.
crypto.createsign (알고리즘)
주어진 알고리즘을 사용하여 서명 객체를 작성하고 반환합니다. 기존 OpenSSL 배포판에서 OpenSSL List-Public-Key-Algorithms는 'RSA-SHA256'과 같은 사용 가능한 시그니처 알고리즘을 표시합니다.
서명자 .update (데이터)
데이터 매개 변수로 서명 객체를 업데이트하십시오. 이 방법은 스트리밍 데이터를 사용할 때 여러 번 호출 될 수 있습니다.
signer.sign (private_key, output_format = 'binary')
서명에 전달 된 모든 데이터에 대한 서명을 계산하십시오. private_key는 서명 용 Pem으로 인코딩 된 개인 키가 포함 된 문자열입니다.
output_format 출력이 '바이너리', 'hex'또는 'base64'일 수있는 서명을 반환합니다.
crypto.creeverify (알고리즘)
주어진 알고리즘을 사용하여 유효성있는 객체를 작성하고 반환합니다. 위의 서명 객체의 역 작동입니다.
verifier.update (데이터)
데이터 매개 변수로 유효성있는 객체를 업데이트하십시오. 이 방법은 스트리밍 데이터를 사용할 때 여러 번 호출 될 수 있습니다.
verify.verify (cert, signature, signature_format = 'binary')
매개 변수 인증서 및 서명을 사용하여 서명 된 데이터를 확인하십시오. CERT는 PEM으로 인코딩 된 공개 키 문자열이며 서명은 이전에 계산 된 데이터의 서명이며 Signature_format은 'Binary', 'Hex'또는 'Base64'일 수 있습니다.
데이터 및 공개 키의 서명 유효성 검증 결과에 따라 참 또는 거짓을 반환합니다.
필요할 때 돌이킬 수없는 암호화 코드를 작성하는 방법
코드 사본은 다음과 같습니다.
var text = "123 | 12312312123123121231231212312312312312312312312312312312312312312312312312312312312312
var hasher = crypto.createhash ( "md5");
hasher.update (텍스트);
var hashmsg = hasher.digest ( 'hex'); // hashmsg는 암호화 된 데이터입니다
암호화되고 해독 된 환경이 필요할 때
코드 사본은 다음과 같습니다.
var key = "asdhjwhereu*asd123-123"; // 암호화 된 비밀 키
var text = "123 | 12312312123123121231231212312312312312312312312312312312312312312312312312312312312312
var crypted = cipher.update (텍스트, 'UTF8', 'hex');
암호화+= cipher.final ( 'hex');
var message = crypted; // 암호화 후 값
var decipher = crypto.createdecipher ( 'AES-256-CBC', 키);
var dec = decipher.update (메시지, 'hex', 'utf8');
dec+= decipher.final ( 'utf8'); // 암호 해독 후 값
추신 : 암호화 기술과 관련 하여이 사이트는 참조를 위해 다음과 같은 암호화 도구를 제공합니다.
MD5 온라인 암호화 도구 : http://tools.vevb.com/password/createmd5password
탈출 암호화/암호 해독 도구 : http://tools.vevb.com/password/escapepwd
온라인 SHA1 암호화 도구 : http://tools.vevb.com/password/sha1encode
짧은 링크 (짧은 URL) 온라인 생성 도구 : http://tools.vevb.com/password/dwzcreate
짧은 링크 (짧은 URL) 온라인 복원 도구 : http://tools.vevb.com/password/unshorturl
고속도로 비밀번호 생성기 : http://tools.vevb.com/password/createstrongpassword