모듈 기본 모듈

모듈 암호화

암호화 알고리즘 모듈

명령:

1
var crypto = require('crypto');

목적

Cipher

Cipher 생성자, Cipher 참조

1
Cipher crypto.Cipher;

PKey

PKey 생성자, PKey 참조

1
PKey crypto.PKey;

X509Cert

X509Cert 생성자, X509Cert 참조

1
X509Cert crypto.X509Cert;

X509Crl

X509Crl 생성자, X509Crl 참조

1
X509Crl crypto.X509Crl;

X509Req

X509Req 생성자, X509Req 참조

1
X509Req crypto.X509Req;

정적 기능

createHash

주어진 알고리즘 이름을 기반으로 정보 요약 개체를 만듭니다.

1
static Digest crypto.createHash(String algo);

통화 매개 변수 :

  • algo : String, 정보 요약 객체의 알고리즘을 지정합니다

반환 결과 :

  • Digest , 정보 요약 객체를 돌려줍니다

createHmac

주어진 알고리즘 이름을 기반으로 hmac 정보 다이제스트 객체 생성

1 2
static Digest crypto.createHmac(String algo, Buffer key);

통화 매개 변수 :

  • algo : String, 정보 요약 객체의 알고리즘을 지정합니다
  • key : Buffer , 이진 서명 키

반환 결과 :

  • Digest , 정보 요약 객체를 돌려줍니다

loadPKey

PEM / DER 형식으로 키 파일로드

1 2
static PKey crypto.loadPKey(String filename, String password = "");

통화 매개 변수 :

  • filename : 문자열, 키 파일 이름
  • password : 문자열, 암호 해독

반환 결과 :

  • PKey , 키가 포함 된 객체를 반환

loadCert

CRT / PEM / DER / TXT 형식으로 인증서로드 (여러 번 호출 가능)

1
static X509Cert crypto.loadCert(String filename);

통화 매개 변수 :

  • filename : 문자열, 인증서 파일 이름

반환 결과 :

  • X509Cert , 증명서를 포함한 객체를 돌려줍니다

loadFile은 http 에서 다운로드하여 사용할 수있는 mozilla의 certdata, txt를로드합니다 http


loadCrl

여러 번 호출 할 수있는 해지 인증서를 PEM / DER 형식으로로드

1
static X509Crl crypto.loadCrl(String filename);

통화 매개 변수 :

  • filename : 문자열, 해지 된 인증서의 파일 이름

반환 결과 :

  • X509Crl , 해지 된 증명서를 포함한 객체를 돌려줍니다

loadReq

PEM / DER 형식의 인증서 요청을 여러 번 호출 할 수 있습니다.

1
static X509Req crypto.loadReq(String filename);

통화 매개 변수 :

  • filename : 문자열, 인증서 요청 파일 이름

반환 결과 :

  • X509Req 는 요청 된 인증서를 포함하는 오브젝트를 리턴합니다.

randomBytes

지정된 크기의 난수를 생성하십시오.

1
static Buffer crypto.randomBytes(Integer size) async;

통화 매개 변수 :

  • size : 정수, 생성 된 난수의 size 를 지정

반환 결과 :

  • Buffer 는 생성 된 난수를 반환합니다.

simpleRandomBytes

빠른 알고리즘을 사용하여 지정된 크기의 저 강도 난수 생성

1
static Buffer crypto.simpleRandomBytes(Integer size) async;

통화 매개 변수 :

  • size : 정수, 생성 된 난수의 size 를 지정

반환 결과 :

  • Buffer 는 생성 된 난수를 반환합니다.

pseudoRandomBytes

엔트로피 생성기를 사용하여 지정된 크기의 의사 난수 생성

1
static Buffer crypto.pseudoRandomBytes(Integer size) async;

통화 매개 변수 :

  • size : 정수, 생성 된 난수의 size 를 지정

반환 결과 :

  • Buffer 는 생성 된 난수를 반환합니다.

randomArt

주어진 데이터의 시각적 문자 이미지를 생성

1 2 3
static String crypto.randomArt(Buffer data, String title, Integer size = 8);

통화 매개 변수 :

  • data : Buffer , 표시 할 데이터를 지정
  • title : 문자열, 문자 이미지의 제목을 지정합니다. 멀티 바이트 문자는 너비 오류를 발생시킵니다
  • size : 정수, 문자 이미지 크기

반환 결과 :

  • String , 생성 된 시각적 문자열 이미지를 반환

pbkdf1

pbkdf1에 따르면 일반 텍스트 비밀번호에 따라 필요한 2 진 키를 생성하십시오.

1 2 3 4 5
static Buffer crypto.pbkdf1(Buffer password, Buffer salt, Integer iterations, Integer size, Integer algo) async;

통화 매개 변수 :

  • password : Buffer , 사용 된 비밀번호를 지정하십시오.
  • salt : Buffer , hmac에서 사용하는 소금을 지정
  • iterations : 정수, iterations 지정
  • size : 정수, 키 크기를 지정하십시오
  • algo : 정수, 사용할 hash 알고리즘 지정, 자세한 내용은 hash 모듈 참조

반환 결과 :

  • Buffer , 생성 된 이진 키를 반환

pbkdf1에 따르면 일반 텍스트 비밀번호에 따라 필요한 2 진 키를 생성하십시오.

1 2 3 4 5
static Buffer crypto.pbkdf1(Buffer password, Buffer salt, Integer iterations, Integer size, String algoName) async;

통화 매개 변수 :

  • password : Buffer , 사용 된 비밀번호를 지정하십시오.
  • salt : Buffer , hmac에서 사용하는 소금을 지정
  • iterations : 정수, iterations 지정
  • size : 정수, 키 크기를 지정하십시오
  • algoName : 문자열, 사용할 hash 알고리즘 지정, 자세한 내용은 hash 모듈 참조

반환 결과 :

  • Buffer , 생성 된 이진 키를 반환

pbkdf2

rfc2898에 따르면 일반 텍스트 비밀번호에 따라 필요한 2 진 키를 생성하십시오.

1 2 3 4 5
static Buffer crypto.pbkdf2(Buffer password, Buffer salt, Integer iterations, Integer size, Integer algo) async;

통화 매개 변수 :

  • password : Buffer , 사용 된 비밀번호를 지정하십시오.
  • salt : Buffer , hmac에서 사용하는 소금을 지정
  • iterations : 정수, iterations 지정
  • size : 정수, 키 크기를 지정하십시오
  • algo : 정수, 사용할 hash 알고리즘 지정, 자세한 내용은 hash 모듈 참조

반환 결과 :

  • Buffer , 생성 된 이진 키를 반환

rfc2898에 따르면 일반 텍스트 비밀번호에 따라 필요한 2 진 키를 생성하십시오.

1 2 3 4 5
static Buffer crypto.pbkdf2(Buffer password, Buffer salt, Integer iterations, Integer size, String algoName) async;

통화 매개 변수 :

  • password : Buffer , 사용 된 비밀번호를 지정하십시오.
  • salt : Buffer , hmac에서 사용하는 소금을 지정
  • iterations : 정수, iterations 지정
  • size : 정수, 키 크기를 지정하십시오
  • algoName : 문자열, 사용할 hash 알고리즘 지정, 자세한 내용은 hash 모듈 참조

반환 결과 :

  • Buffer , 생성 된 이진 키를 반환

일정한

AES

대칭 암호화 알고리즘 AES 지정, 128, 192, 256 비트 키 지원, 블록 암호 작업 모드 지원 ECB, CBC, CFB128, CTR, GCM, CCM, XTS

1
const crypto.AES = 1;

CAMELLIA

대칭 암호화 알고리즘 CAMELLIA 지정, 128, 192, 256 비트 키 지원, 블록 암호 작업 모드는 ECB, CBC, CFB128, CTR, GCM, CCM 지원

1
const crypto.CAMELLIA = 2;

DES

대칭 암호화 알고리즘 DES 지정, 64 비트 키 지원, 블록 암호 작업 모드는 ECB, CBC 지원

1
const crypto.DES = 3;

DES_EDE

대칭 암호화 알고리즘 DES-EDE 지정, 128 비트 키 지원, 블록 암호 작업 모드는 ECB, CBC 지원

1
const crypto.DES_EDE = 4;

DES_EDE3

대칭 암호화 알고리즘 DES-EDE3 지정, 192 비트 키 지원, 블록 암호 작업 모드는 ECB, CBC 지원

1
const crypto.DES_EDE3 = 5;

BLOWFISH

대칭 암호화 알고리즘 BLOWFISH 지정, 192 비트 키 지원, 블록 암호 작업 모드 지원 ECB, CBC, CFB64, CTR

1
const crypto.BLOWFISH = 6;

ARC4

대칭 암호화 알고리즘 ARC4 지정, 40, 56, 64, 128 비트 키 지원

1
const crypto.ARC4 = 7;

ARIA

대칭 암호화 알고리즘 ARIA 지정, 128, 192, 256 비트 키 지원, 블록 암호 작업 모드는 ECB, CBC, CFB128, CTR, GCM, CCM 지원

1
const crypto.ARIA = 8;

CHACHA20

대칭 암호화 알고리즘 CHACHA20 지정, 256 비트 키 지원, 블록 암호 작업 모드 지원 POLY1305

1
const crypto.CHACHA20 = 9;

SM4

대칭 암호화 알고리즘 SM4 지정, 블록 암호 작업 모드는 ECB, CBC 지원

1
const crypto.SM4 = 10;

ECB

ECB를 지원하는 지정된 블록 암호 작업 모드

1
const crypto.ECB = 1;

CBC

CBC를 지원하는 지정된 블록 암호 작업 모드

1
const crypto.CBC = 2;

CFB64

CFB64를 지원하는 지정된 블록 암호 작업 모드

1
const crypto.CFB64 = 3;

CFB128

CFB128을 지원하는 지정된 블록 암호 작업 모드

1
const crypto.CFB128 = 4;

OFB

OFB를 지원하는 지정된 블록 암호 작업 모드

1
const crypto.OFB = 5;

CTR

CTR을 지원하는 지정된 블록 암호 작업 모드

1
const crypto.CTR = 6;

GCM

지정된 블록 암호 작업 모드는 GCM을 지원합니다

1
const crypto.GCM = 7;

STREAM

스트림 암호 모드 지정

1
const crypto.STREAM = 8;

CCM

지정된 블록 암호 작업 모드는 CCM을 지원합니다

1
const crypto.CCM = 9;

XTS

지정된 블록 암호 작업 모드는 XTS를 지원합니다

1
const crypto.XTS = 10;

POLY1305

지정된 블록 암호 작업 모드는 POLY1305를 지원합니다

1
const crypto.POLY1305 = 11;

PKCS7

채우기 모드를 PKCS7로 지정

1
const crypto.PKCS7 = 0;

ONE_AND_ZEROS

채우기 모드를 ONE_AND_ZEROS로 지정

1
const crypto.ONE_AND_ZEROS = 1;

ZEROS_AND_LEN

채우기 모드를 ZEROS_AND_LEN으로 지정하십시오.

1
const crypto.ZEROS_AND_LEN = 2;

ZEROS

채우기 모드를 ZEROS로 지정

1
const crypto.ZEROS = 3;

NOPADDING

충전 모드를 NOPADDING으로 지정

1
const crypto.NOPADDING = 4;