Модуль крипто
Модуль алгоритма шифрования
Инструкции:
1var crypto = require('crypto');
Объект
Cipher
Конструктор Cipher , см. Cipher
1Cipher crypto.Cipher;
PKey
1PKey crypto.PKey;
X509Cert
1X509Cert crypto.X509Cert;
X509Crl
1X509Crl crypto.X509Crl;
X509Req
1X509Req crypto.X509Req;
Статическая функция
createHash
Создать объект сводки информации на основе заданного имени алгоритма
1static Digest crypto.createHash(String algo);
Параметры звонка:
- algo : String, задает алгоритм объекта сводки информации
Результат возврата:
- Digest , возвращает объект сводной информации
createHmac
Создать объект информационного дайджеста hmac на основе заданного имени алгоритма
1
2static Digest crypto.createHmac(String algo,
Buffer key);
Параметры звонка:
- algo : String, задает алгоритм объекта сводки информации
- key : Buffer , ключ бинарной подписи
Результат возврата:
- Digest , возвращает объект сводной информации
loadPKey
Загрузить ключевой файл в формате PEM / DER
1
2static PKey crypto.loadPKey(String filename,
String password = "");
Параметры звонка:
- filename : строка, имя ключевого файла
- password : строка, расшифровать пароль
Результат возврата:
- PKey , возвращает объект, содержащий ключ
loadCert
Загрузите сертификат в формате CRT / PEM / DER / TXT, который можно вызывать несколько раз
1static X509Cert crypto.loadCert(String filename);
Параметры звонка:
- filename : строка, имя файла сертификата
Результат возврата:
- X509Cert , возвращает объект, содержащий сертификат
loadFile загружает сертификат mozilla, txt, который можно загрузить и использовать по адресу http
loadCrl
Загрузите сертификат отзыва в формате PEM / DER, который можно вызывать несколько раз.
1static X509Crl crypto.loadCrl(String filename);
Параметры звонка:
- filename : String, имя файла отозванного сертификата
Результат возврата:
- X509Crl , возвращает объект, содержащий отозванный сертификат
loadReq
Загрузите запрос сертификата в формате PEM / DER, который можно вызывать несколько раз
1static X509Req crypto.loadReq(String filename);
Параметры звонка:
- filename : строка, имя файла запроса сертификата
Результат возврата:
- X509Req , возвращает объект, содержащий запрошенный сертификат
randomBytes
Генерировать случайные числа указанного размера, использовать генератор хэша
1static Buffer crypto.randomBytes(Integer size) async;
Параметры звонка:
- size : Integer, укажите size сгенерированного случайного числа
Результат возврата:
- Buffer , возвращает сгенерированное случайное число
simpleRandomBytes
Генерация случайного числа с низкой интенсивностью заданного размера с помощью быстрого алгоритма.
1static Buffer crypto.simpleRandomBytes(Integer size) async;
Параметры звонка:
- size : Integer, укажите size сгенерированного случайного числа
Результат возврата:
- Buffer , возвращает сгенерированное случайное число
pseudoRandomBytes
Генерация псевдослучайных чисел заданного размера с помощью генератора энтропии
1static Buffer crypto.pseudoRandomBytes(Integer size) async;
Параметры звонка:
- size : Integer, укажите size сгенерированного случайного числа
Результат возврата:
- Buffer , возвращает сгенерированное случайное число
randomArt
Сгенерировать визуальное изображение характера данных
1
2
3static String crypto.randomArt(Buffer data,
String title,
Integer size = 8);
Параметры звонка:
- data : Buffer , укажите данные для отображения
- title : String, указывает заголовок изображения символа, многобайтовые символы вызовут ошибку ширины
- size : целое число, размер символьного изображения
Результат возврата:
- String , возвращает сгенерированное визуальное строковое изображение
pbkdf1
Согласно pbkdf1, сгенерируйте требуемый двоичный ключ в соответствии с паролем в виде открытого текста
1
2
3
4
5static 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
5static 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
5static 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
5static 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
1const crypto.AES = 1;
CAMELLIA
Укажите алгоритм симметричного шифрования CAMELLIA, поддержка 128, 192, 256 битных ключей, режим работы блочного шифра поддерживает ECB, CBC, CFB128, CTR, GCM, CCM
1const crypto.CAMELLIA = 2;
DES
Укажите алгоритм симметричного шифрования DES, поддерживает 64-битный ключ, режим работы блочного шифрования поддерживает ECB, CBC
1const crypto.DES = 3;
DES_EDE
Укажите алгоритм симметричного шифрования DES-EDE, поддерживает 128-битный ключ, режим работы блочного шифра поддерживает ECB, CBC
1const crypto.DES_EDE = 4;
DES_EDE3
Укажите алгоритм симметричного шифрования DES-EDE3, поддерживает 192-битный ключ, режим работы блочного шифра поддерживает ECB, CBC
1const crypto.DES_EDE3 = 5;
BLOWFISH
Укажите алгоритм симметричного шифрования BLOWFISH, поддерживает 192-битный ключ, режим работы блочного шифра поддерживает ECB, CBC, CFB64, CTR
1const crypto.BLOWFISH = 6;
ARC4
Укажите алгоритм симметричного шифрования ARC4, поддержка ключей 40, 56, 64, 128 бит
1const crypto.ARC4 = 7;
ARIA
Укажите алгоритм симметричного шифрования ARIA, поддержку 128, 192, 256 битных ключей, режим работы блочного шифра поддерживает ECB, CBC, CFB128, CTR, GCM, CCM
1const crypto.ARIA = 8;
CHACHA20
Укажите алгоритм симметричного шифрования CHACHA20, поддерживает 256-битный ключ, режим работы блочного шифра поддерживает POLY1305
1const crypto.CHACHA20 = 9;
SM4
Укажите алгоритм симметричного шифрования SM4, режим работы блочного шифра поддерживает ECB, CBC
1const crypto.SM4 = 10;
ECB
Назначенный режим работы блочного шифра поддерживает ECB
1const crypto.ECB = 1;
CBC
Назначенный режим работы блочного шифра поддерживает CBC
1const crypto.CBC = 2;
CFB64
Назначенный режим работы блочного шифра поддерживает CFB64
1const crypto.CFB64 = 3;
CFB128
Назначенный режим работы блочного шифра поддерживает CFB128
1const crypto.CFB128 = 4;
OFB
Выделенный режим работы блочного шифра поддерживает OFB
1const crypto.OFB = 5;
CTR
Выделенный режим работы блочного шифра поддерживает CTR
1const crypto.CTR = 6;
GCM
Назначенный режим работы блочного шифра поддерживает GCM
1const crypto.GCM = 7;
STREAM
Укажите режим потокового шифрования
1const crypto.STREAM = 8;
CCM
Назначенный режим работы блочного шифра поддерживает CCM
1const crypto.CCM = 9;
XTS
Назначенный режим работы блочного шифра поддерживает XTS
1const crypto.XTS = 10;
POLY1305
Выделенный режим работы блочного шифра поддерживает POLY1305
1const crypto.POLY1305 = 11;
PKCS7
Укажите режим заливки как PKCS7
1const crypto.PKCS7 = 0;
ONE_AND_ZEROS
Укажите режим заливки как ONE_AND_ZEROS
1const crypto.ONE_AND_ZEROS = 1;
ZEROS_AND_LEN
Укажите режим заполнения как ZEROS_AND_LEN
1const crypto.ZEROS_AND_LEN = 2;
ZEROS
Укажите режим заполнения как ZEROS
1const crypto.ZEROS = 3;
NOPADDING
Укажите режим заполнения как NOPADDING
1const crypto.NOPADDING = 4;