Модуль базовый модуль

Модуль крипто

Модуль алгоритма шифрования

Инструкции:

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 загружает сертификат mozilla, txt, который можно загрузить и использовать по адресу http


loadCrl

Загрузите сертификат отзыва в формате PEM / DER, который можно вызывать несколько раз.

1
static X509Crl crypto.loadCrl(String filename);

Параметры звонка:

  • filename : String, имя файла отозванного сертификата

Результат возврата:

  • X509Crl , возвращает объект, содержащий отозванный сертификат

loadReq

Загрузите запрос сертификата в формате PEM / DER, который можно вызывать несколько раз

1
static X509Req crypto.loadReq(String filename);

Параметры звонка:

  • filename : строка, имя файла запроса сертификата

Результат возврата:

  • X509Req , возвращает объект, содержащий запрошенный сертификат

randomBytes

Генерировать случайные числа указанного размера, использовать генератор хэша

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

Параметры звонка:

  • size : Integer, укажите size сгенерированного случайного числа

Результат возврата:

  • Buffer , возвращает сгенерированное случайное число

simpleRandomBytes

Генерация случайного числа с низкой интенсивностью заданного размера с помощью быстрого алгоритма.

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

Параметры звонка:

  • size : Integer, укажите size сгенерированного случайного числа

Результат возврата:

  • Buffer , возвращает сгенерированное случайное число

pseudoRandomBytes

Генерация псевдослучайных чисел заданного размера с помощью генератора энтропии

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

Параметры звонка:

  • size : Integer, укажите size сгенерированного случайного числа

Результат возврата:

  • Buffer , возвращает сгенерированное случайное число

randomArt

Сгенерировать визуальное изображение характера данных

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

Параметры звонка:

  • data : Buffer , укажите данные для отображения
  • title : String, указывает заголовок изображения символа, многобайтовые символы вызовут ошибку ширины
  • size : целое число, размер символьного изображения

Результат возврата:

  • String , возвращает сгенерированное визуальное строковое изображение

pbkdf1

Согласно pbkdf1, сгенерируйте требуемый двоичный ключ в соответствии с паролем в виде открытого текста

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 : целое число, укажите количество итераций
  • size : Integer, укажите размер ключа
  • algo : Integer, укажите hash алгоритм, который будет использоваться, подробности см. в hash модуле

Результат возврата:

  • Buffer , вернуть сгенерированный двоичный ключ

Согласно pbkdf1, сгенерируйте требуемый двоичный ключ в соответствии с паролем в виде открытого текста

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 : целое число, укажите количество итераций
  • size : Integer, укажите размер ключа
  • algoName : String, укажите hash алгоритм, который будет использоваться, подробности см. в hash модуле

Результат возврата:

  • Buffer , вернуть сгенерированный двоичный ключ

pbkdf2

Согласно rfc2898, сгенерируйте требуемый двоичный ключ в соответствии с паролем в виде открытого текста

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 : целое число, укажите количество итераций
  • size : Integer, укажите размер ключа
  • algo : Integer, укажите hash алгоритм, который будет использоваться, подробности см. в hash модуле

Результат возврата:

  • Buffer , вернуть сгенерированный двоичный ключ

Согласно rfc2898, сгенерируйте требуемый двоичный ключ в соответствии с паролем в виде открытого текста

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 : целое число, укажите количество итераций
  • size : Integer, укажите размер ключа
  • algoName : String, укажите 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;