암호화 모듈을 호출하려면 require('crypto')를 사용하세요.
암호화 모듈을 사용하려면 OpenSSL 지원을 제공하는 기본 시스템이 필요합니다. 보안 자격 증명을 캡슐화하는 방법을 제공하며 일반 HTTP 연결은 물론 HTTPS 보안 네트워크에도 사용할 수 있습니다.
이 모듈은 OpenSSL 메소드 캡슐화를 위한 해시(해시), hmac(키 해시), 암호(인코딩), 해독(디코딩), 서명(서명) 및 확인(검증) 세트도 제공합니다.
crypto.createCredentials(details)
선택적 매개변수 세부정보는 키 값이 있는 사전입니다.
key: 문자열 유형, PEM으로 인코딩된 개인 키.
cert: 문자열 형식의 PEM 인코딩된 인증서입니다.
ca: 문자열 형식의 PEM 인코딩된 신뢰할 수 있는 CA 인증서 또는 인증서 목록입니다.
'ca' 세부정보가 제공되지 않으면 node.js는 http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins에 있는 기본 공개 신뢰할 수 있는 목록을 사용합니다. /certdata.txt.
crypto.createHash(algorithm)
지정된 알고리즘의 암호화 해시이며 해시 다이제스트를 생성하는 데 사용되는 해시 객체를 생성하고 반환합니다.
매개변수 알고리즘은 시스템에 설치된 OpenSSL 버전에서 지원하는 알고리즘을 선택할 수 있습니다. 예: 'sha1', 'md5', 'sha256', 'sha512' 등 최근 릴리스에서는 openssl list-message-digest-algorithms에 사용 가능한 다이제스트 알고리즘이 표시됩니다.
hash.update(data)
해시 내용을 지정된 데이터로 업데이트합니다. 이 메서드는 스트리밍 데이터 작업 시 여러 번 호출될 수 있습니다.
hash.digest(encoding='binary')
수신되는 모든 데이터의 해시 다이제스트를 계산합니다. 인코딩 매개변수는 'hex', 'binary' 또는 'base64'일 수 있습니다.
crypto.createHmac(algorithm, key)
지정된 알고리즘과 키를 사용하는 암호화 hmac인 hmac 객체를 생성하고 반환합니다.
매개변수 알고리즘은 OpenSSL에서 지원하는 알고리즘을 선택할 수 있습니다. 위의 createHash를 참조하세요. 매개변수 키는 hmac에서 사용하는 키입니다.
hmac.update(data)
hmac의 내용을 지정된 데이터로 업데이트합니다. 이 메서드는 스트리밍 데이터 작업 시 여러 번 호출될 수 있습니다.
hmac.digest(encoding='binary')
수신되는 모든 데이터의 hmac 다이제스트를 계산합니다. 인코딩 매개변수는 'hex', 'binary' 또는 'base64'일 수 있습니다.
crypto.createCipher(algorithm, key)
지정된 알고리즘과 키를 사용하여 암호 객체를 생성하고 반환합니다.
매개변수 알고리즘은 'aes192' 등 OpenSSL에서 지원하는 알고리즘을 선택할 수 있습니다. 최근 릴리스에서는 openssl list-cipher-algorithms에 사용 가능한 암호화 알고리즘이 표시됩니다.
cipher.update(data, input_encoding='binary', output_encoding='binary')
암호화할 콘텐츠를 업데이트하려면 매개변수 데이터를 사용하세요. 인코딩 방법은 매개변수에 의해 지정됩니다. input_encoding은 'utf8', 'ascii' 또는 'binary'일 수 있습니다. 매개변수 output_encoding은 암호화된 콘텐츠의 출력 인코딩 방법('binary', 'base64' 또는 'hex')을 지정합니다.
암호화된 콘텐츠를 반환합니다. 이 메서드는 스트리밍 데이터를 사용할 때 여러 번 호출될 수 있습니다.
cipher.final(output_encoding='binary')
나머지 암호화된 콘텐츠를 모두 반환합니다. output_encoding 출력 인코딩은 'binary', 'ascii' 또는 'utf8' 중 하나입니다.
crypto.createDecipher(algorithm, key)
주어진 알고리즘과 키를 사용하여 복호화 개체를 생성하고 반환합니다. 이 개체는 위의 암호화된 개체와 반대입니다.
decipher.update(data, input_encoding='binary', output_encoding='binary')
복호화할 콘텐츠를 매개변수 데이터를 사용하여 업데이트하며, 인코딩 방식은 '바이너리'입니다. 'base64' 또는 '16진수'. 매개변수 output_encoding은 해독된 일반 텍스트 콘텐츠의 출력 인코딩 방법('binary', 'ascii' 또는 'utf8')을 지정합니다.
decipher.final(output_encoding='binary')
output_encoding'이 'binary', 'ascii' 또는 'utf8'` 중 하나인 해독된 나머지 일반 텍스트를 모두 반환합니다.
crypto.createSign(algorithm)
주어진 알고리즘을 사용하여 서명자 객체를 생성하고 반환합니다. 기존 OpenSSL 배포판에서 openssl list-public-key-algorithms는 사용 가능한 서명 알고리즘을 표시합니다(예: 'RSA-SHA256').
signer.update(data)
signer 객체를 업데이트하려면 data 매개변수를 사용하세요. 이 메서드는 스트리밍 데이터 작업 시 여러 번 호출될 수 있습니다.
signer.sign(private_key, output_format='binary')
서명자에게 전달된 모든 데이터의 서명을 계산합니다. private_key는 서명에 사용되는 PEM 인코딩 개인 키가 포함된 문자열입니다.
반환 서명, 해당 output_format 출력은 'binary', 'hex' 또는 'base64'일 수 있습니다.
crypto.createVerify(algorithm)
주어진 알고리즘을 사용하여 검증자 객체를 생성하고 반환합니다. 이는 위의 서명자 개체와 반대입니다.
verifier.update(data)
data 매개변수를 사용하여 유효성 검사기 개체를 업데이트합니다. 이 메서드는 스트리밍 데이터 작업 시 여러 번 호출될 수 있습니다.
verifier.verify(cert, 서명, 서명_format='바이너리')
서명된 데이터를 확인하려면 cert 및 서명 매개변수를 사용하세요. cert는 PEM으로 인코딩된 공개 키 문자열이고, 서명은 이전에 계산된 데이터의 서명이며, Signature_format은 'binary', 'hex' 또는 'base64'일 수 있습니다. .
데이터 및 공개키의 서명 유효성 검증 결과에 따라 true 또는 false를 반환합니다.
필요할 때 되돌릴 수 없는 암호화 코드 작성 방법
var text = "123|12312312123123121231231212312312123123121231231212312312"; var hasher=crypto.createHash("md5"); hasher.update(text); var hashmsg=hasher.digest('hex');//hashmsg为加密之后的数据
암호화 및 복호화 환경이 필요할 때
var key="asdhjwheru*asd123-123";//加密的秘钥 var text = "123|12312312123123121231231212312312123123121231231212312312"; var crypted =cipher.update(text,'utf8','hex'); crypted+=cipher.final('hex'); var message=crypted;//加密之后的值 var decipher = crypto.createDecipher('aes-256-cbc',key); var dec=decipher.update(message,'hex','utf8'); dec+= decipher.final('utf8');//解密之后的值
더보기 NODE.JS 암호화 결제해주세요 CRYPTO 모듈의 일반적인 방법을 소개하는 관련 기사는 PHP 중국어 웹사이트에 주목하세요!