Модуль крипто
Модуль алгоритма шифрования
Инструкции:
1var crypto = require('crypto');
Объект
Cipher
Cipher Конструктор, см. Cipher
1Cipher crypto.Cipher;
PKey
1PKey crypto.PKey;
X509Cert
X509Cert Конструктор, см. X509Cert
1X509Cert crypto.X509Cert;
X509Crl
X509Crl Конструктор, см. X509Crl
1X509Crl crypto.X509Crl;
X509Req
X509Req Конструктор, см. 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: String, расшифровать пароль
Результат возврата:
- PKey, Возвращает объект, содержащий ключ
loadCert
Загрузите сертификат в формате CRT / PEM / DER / TXT, который можно вызывать несколько раз
1static 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, который можно вызывать несколько раз.
1static X509Crl crypto.loadCrl(String filename);
Параметры звонка:
- filename: Строка, имя файла отозванного сертификата
Результат возврата:
- X509Crl, Возвращает объект, содержащий отозванный сертификат
loadReq
Загрузите запрос сертификата в формате PEM / DER, который можно вызывать несколько раз
1static X509Req crypto.loadReq(String filename);
Параметры звонка:
- filename: Строка, имя файла запроса сертификата
Результат возврата:
- X509Req, Возвращает объект, содержащий запрошенный сертификат
randomBytes
Генерировать случайные числа указанного размера, использовать генератор хэша
1static Buffer crypto.randomBytes(Integer size) async;
Параметры звонка:
- size: Целое число, укажите размер сгенерированного случайного числа
Результат возврата:
- Buffer, Вернуть сгенерированное случайное число
simpleRandomBytes
Сгенерируйте случайное число заданного размера с низкой интенсивностью, используя быстрый алгоритм
1static Buffer crypto.simpleRandomBytes(Integer size) async;
Параметры звонка:
- size: Целое число, укажите размер сгенерированного случайного числа
Результат возврата:
- Buffer, Вернуть сгенерированное случайное число
pseudoRandomBytes
Генерация псевдослучайных чисел заданного размера с помощью генератора энтропии
1static Buffer crypto.pseudoRandomBytes(Integer size) async;
Параметры звонка:
- size: Целое число, укажите размер сгенерированного случайного числа
Результат возврата:
- Buffer, Вернуть сгенерированное случайное число
randomArt
Сгенерировать визуальное изображение персонажа заданных данных
1
2
3static String crypto.randomArt(Buffer data,
String title,
Integer size = 8);
Параметры звонка:
- data: Buffer, Укажите данные для отображения
- title: String, указывает заголовок изображения символа, многобайтовые символы вызовут ошибку ширины
- size: Целое число, размер символьного изображения
Результат возврата:
- String, Вернуть сгенерированное изображение визуальной строки
genRsaKey
Сгенерируйте закрытый ключ RSA
1static PKey crypto.genRsaKey(Integer size) async;
Параметры звонка:
- size: Целое число, укажите длину ключа RSA в битах в качестве единицы измерения.
Результат возврата:
- PKey, Возвращает объект, содержащий сгенерированный закрытый ключ
genEcKey
Сгенерируйте закрытый ключ EC
1static PKey crypto.genEcKey(String curve = "secp521r1") async;
Параметры звонка:
- curve: Строка, укажите предустановленную эллиптическую кривую, дополнительные значения: "secp521r1", "brainpoolP512r1", "secp384r1", "brainpoolP384r1", "secp256r1", "secp256k1", "brainpoolP256r1", "secp224r1", "secp224" «secp192r1», «secp192k1»
Результат возврата:
- PKey, Возвращает объект, содержащий сгенерированный закрытый ключ
genSm2Key
Сгенерируйте закрытый ключ SM2
1static PKey crypto.genSm2Key() async;
Результат возврата:
- PKey, Возвращает объект, содержащий сгенерированный закрытый ключ
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: Целое число, укажите размер ключа
- algo: Целое число, укажите, что использовать 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: Целое число, укажите размер ключа
- 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: Целое число, укажите размер ключа
- algo: Целое число, укажите, что использовать 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: Целое число, укажите размер ключа
- algoName: String, укажите, что использовать hash Алгоритм см. hash Модуль
Результат возврата:
- Buffer, Верните сгенерированный двоичный ключ
getHashes
Получите поддержку криптовалютного модуля hash(Аннотация) Алгоритмы, такие как 'md5', 'sha224'
1static Array crypto.getHashes();
Результат возврата:
- Array, Вернуться к поддержке fibjs hash Массив алгоритмов
постоянный
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;