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

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

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

Инструкции:

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: String, расшифровать пароль

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

  • PKey, Возвращает объект, содержащий ключ

loadCert

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

1
static X509Cert crypto.loadCert(String filename);

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

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

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

  • X509Cert, Возвращает объект, содержащий сертификат

loadFile загружает сертификат mozilla, txt, который можно загрузить и использовать по адресу http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt.


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: Целое число, укажите размер сгенерированного случайного числа

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

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

simpleRandomBytes

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

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

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

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

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

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

pseudoRandomBytes

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

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

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

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

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

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

randomArt

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

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

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

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

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

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

genRsaKey

Сгенерируйте закрытый ключ RSA

1
static PKey crypto.genRsaKey(Integer size) async;

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

  • size: Целое число, укажите длину ключа RSA в битах в качестве единицы измерения.

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

  • PKey, Верните объект, содержащий сгенерированный закрытый ключ

genEcKey

Сгенерируйте закрытый ключ EC

1
static PKey crypto.genEcKey(String curve = "secp521r1") async;

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

  • curve: Строка, укажите предустановленную эллиптическую кривую, дополнительные значения: "secp521r1", "brainpoolP512r1", "secp384r1", "brainpoolP384r1", "secp256r1", "secp256k1", "brainpoolP256r1", "secp224r1", "secp224" «secp192r1», «secp192k1»

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

  • PKey, Верните объект, содержащий сгенерированный закрытый ключ

genSm2Key

Сгенерируйте закрытый ключ SM2

1
static PKey crypto.genSm2Key() async;

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

  • PKey, Верните объект, содержащий сгенерированный закрытый ключ

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: Целое число, укажите размер ключа
  • algo: Целое число, укажите, что использовать 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: Целое число, укажите размер ключа
  • 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: Целое число, укажите размер ключа
  • algo: Целое число, укажите, что использовать 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: Целое число, укажите размер ключа
  • algoName: String, укажите, что использовать hash Алгоритм см. hash Модуль

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

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

getHashes

Получите поддержку криптовалютного модуля hash(Аннотация) Алгоритмы, такие как 'md5', 'sha224'

1
static Array crypto.getHashes();

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

  • Array, Вернуться к поддержке fibjs hash Массив алгоритмов

постоянный

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;