хеш модуля
Модуль хеширования в основном используется для реализации алгоритмов дайджеста сообщений и является очень важным подмодулем при реализации алгоритмов шифрования. В то же время алгоритм дайджеста сообщения также является основой многих алгоритмов шифрования.
Перед использованием hash
субмодуля вам необходимо require('hash');
загрузить модуль с расширением .
В hash
модуль в основном входят следующие классы Digest
: Hmac
, . Среди них Digest
класс используется для расчета алгоритма дайджеста сообщения, а Hmac
класс используется для расчета хэш-сообщения с ключом.
Вот простой пример кода, использующий сводку Digest
класса Compute MD5
:
1
2
3
4
5
6
7
8
9
10
11
12const hash = require('hash');
// create a MD5 digest object
const digest = hash.digest(hash.MD5);
// update digest with data
const data = 'hello, world';
digest.update(data);
// output result in hex
const result = digest.digest('hex');
console.log(result);
В приведенном выше примере кода мы сначала инициализируем hash.digest([hash.MD5](hash.md#MD5))
объект Digest
по MD5
шаблону, используя . Затем мы используем update()
этот метод для добавления данных, необходимых для расчета дайджеста, в объект дайджеста. Далее мы используем digest()
метод для вычисления итогового результата и возвращаем кодировку, указанную параметром (здесь используется шестнадцатеричная кодировка). Наконец, выводятся рассчитанные сводные результаты.
Помимо MD5
, Digest
класс также поддерживает другие алгоритмы суммирования, такие как SHA-1
, SHA-256
и SHA-512
т. д. При его использовании необходимо md5
изменить параметры соответствующего суммарного алгоритма.
статическая функция
digest
Создает операнд информационного дайджеста на основе указанного идентификатора алгоритма.
1
2static Digest hash.digest(Integer algo,
Buffer data = NULL);
Параметры звонка:
- algo: Целое число, укажите алгоритм работы дайджеста.
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
md5
Создайте операнд дайджеста сообщения MD5.
1static Digest hash.md5(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
sha1
Создайте операнд дайджеста сообщения SHA1.
1static Digest hash.sha1(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
sha224
Создайте операнд дайджеста сообщения SHA224.
1static Digest hash.sha224(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
sha256
Создайте операнд дайджеста сообщения SHA256.
1static Digest hash.sha256(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
sha384
Создайте операнд дайджеста сообщения SHA384.
1static Digest hash.sha384(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
sha512
Создайте операнд дайджеста сообщения SHA512.
1static Digest hash.sha512(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
ripemd160
Создайте операнд дайджеста сообщения RIPEMD160.
1static Digest hash.ripemd160(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
sm3
Создайте операнд дайджеста сообщения SM3
1static Digest hash.sm3(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
Создайте операнд дайджеста сообщения SM3 и выполните его предварительную обработку.
1
2
3static Digest hash.sm3(PKey pubKey,
String id,
Buffer data = NULL);
Параметры звонка:
- pubKey:PKey, открытый ключ подписи
- id: строка, идентификатор подписи.
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
sha3_256
Создайте операнд дайджеста сообщения SHA3_256.
1static Digest hash.sha3_256(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
sha3_384
Создайте операнд дайджеста сообщения SHA3_384.
1static Digest hash.sha3_384(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
sha3_512
Создайте операнд дайджеста сообщения SHA3_512.
1static Digest hash.sha3_512(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
shake128
Создайте операнд дайджеста сообщения SHAKE128.
1static Digest hash.shake128(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
shake256
Создайте операнд дайджеста сообщения SHAKE256.
1static Digest hash.shake256(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
keccak256
Создайте операнд дайджеста сообщения KECCAK256.
1static Digest hash.keccak256(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
keccak384
Создайте операнд дайджеста сообщения KECCAK384.
1static Digest hash.keccak384(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
keccak512
Создайте операнд дайджеста сообщения KECCAK512.
1static Digest hash.keccak512(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
blake2s
Создайте операнд дайджеста сообщения BLAKE2S.
1static Digest hash.blake2s(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
blake2b
Создайте операнд дайджеста сообщения BLAKE2B.
1static Digest hash.blake2b(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
blake2sp
Создайте операнд дайджеста сообщения BLAKE2SP.
1static Digest hash.blake2sp(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
blake2bp
Создайте операнд дайджеста сообщения BLAKE2BP.
1static Digest hash.blake2bp(Buffer data = NULL);
Параметры звонка:
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac
Создает операнд подписи дайджеста сообщения на основе указанного идентификатора алгоритма.
1
2
3static Digest hash.hmac(Integer algo,
Buffer key,
Buffer data = NULL);
Параметры звонка:
- algo: Целое число, укажите алгоритм работы дайджеста.
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_md5
Создайте операнд подписи дайджеста сообщения MD5.
1
2static Digest hash.hmac_md5(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_sha1
Создайте операнд подписи дайджеста сообщения SHA1.
1
2static Digest hash.hmac_sha1(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_sha224
Создайте операнд подписи дайджеста сообщения SHA224.
1
2static Digest hash.hmac_sha224(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_sha256
Создайте операнд подписи дайджеста сообщения SHA256.
1
2static Digest hash.hmac_sha256(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_sha384
Создайте операнд подписи дайджеста сообщения SHA384.
1
2static Digest hash.hmac_sha384(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_sha512
Создайте операнд подписи дайджеста сообщения SHA512.
1
2static Digest hash.hmac_sha512(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_ripemd160
Создайте объект операции подписи дайджеста сообщения RIPEMD160.
1
2static Digest hash.hmac_ripemd160(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_sm3
Создайте операнд подписи дайджеста сообщения SM3
1
2static Digest hash.hmac_sm3(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
Создайте объект операции подписи дайджеста сообщения SM3 и выполните предварительную обработку.
1
2
3
4static Digest hash.hmac_sm3(PKey pubKey,
String id,
Buffer key,
Buffer data = NULL);
Параметры звонка:
- pubKey:PKey, открытый ключ подписи
- id: строка, идентификатор подписи.
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_sha3_256
Создайте операнд подписи дайджеста сообщения SHA3_256.
1
2static Digest hash.hmac_sha3_256(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_sha3_384
Создайте операнд подписи дайджеста сообщения SHA3_384.
1
2static Digest hash.hmac_sha3_384(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_shake128
Создайте объект операции подписи дайджеста сообщения SHAKE128.
1
2static Digest hash.hmac_shake128(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_shake256
Создайте объект операции подписи дайджеста сообщения SHAKE256.
1
2static Digest hash.hmac_shake256(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_sha3_512
Создайте операнд подписи дайджеста сообщения SHA3_512.
1
2static Digest hash.hmac_sha3_512(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_keccak256
Создайте операнд подписи дайджеста сообщения KECCAK256.
1
2static Digest hash.hmac_keccak256(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_keccak384
Создайте операнд подписи дайджеста сообщения KECCAK384.
1
2static Digest hash.hmac_keccak384(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_keccak512
Создайте операнд подписи дайджеста сообщения KECCAK512.
1
2static Digest hash.hmac_keccak512(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_blake2s
Создайте объект операции подписи дайджеста сообщения BLAKE2S.
1
2static Digest hash.hmac_blake2s(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_blake2b
Создайте объект операции подписи дайджеста сообщения BLAKE2B.
1
2static Digest hash.hmac_blake2b(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_blake2sp
Создайте объект операции подписи дайджеста сообщения BLAKE2SP.
1
2static Digest hash.hmac_blake2sp(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
hmac_blake2bp
Создайте объект операции подписи дайджеста сообщения BLAKE2BP.
1
2static Digest hash.hmac_blake2bp(Buffer key,
Buffer data = NULL);
Параметры звонка:
- key:Buffer, двоичный ключ подписи
- data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.
Результаты возврата:
- Digest, возвращает созданный объект сводной информации
постоянный
MD5
Константа идентификации алгоритма дайджеста сообщения MD5
1const hash.MD5 = 1;
SHA1
Константа идентификации алгоритма дайджеста сообщения SHA1
1const hash.SHA1 = 2;
SHA224
Константа идентификации алгоритма дайджеста сообщения SHA224
1const hash.SHA224 = 3;
SHA256
Константа идентификации алгоритма дайджеста сообщения SHA256
1const hash.SHA256 = 4;
SHA384
Константа идентификации алгоритма дайджеста сообщения SHA384
1const hash.SHA384 = 5;
SHA512
Константа идентификации алгоритма дайджеста сообщения SHA512
1const hash.SHA512 = 6;
RIPEMD160
Константа идентификации алгоритма дайджеста информации RIPEMD160
1const hash.RIPEMD160 = 7;
SM3
Константы идентификации алгоритма дайджеста сообщения SM3
1const hash.SM3 = 8;
SHA3_256
Константа идентификации алгоритма дайджеста сообщения SHA3_256
1const hash.SHA3_256 = 9;
SHA3_384
Константа идентификации алгоритма дайджеста сообщения SHA3_384
1const hash.SHA3_384 = 10;
SHA3_512
Константа идентификации алгоритма дайджеста сообщения SHA3_512
1const hash.SHA3_512 = 11;
SHAKE128
Константа идентификации алгоритма дайджеста сообщения SHAKE128
1const hash.SHAKE128 = 12;
SHAKE256
Константа идентификации алгоритма дайджеста сообщения SHAKE256
1const hash.SHAKE256 = 13;
KECCAK256
KECCAK256 Константа идентификации алгоритма дайджеста информации
1const hash.KECCAK256 = 14;
KECCAK384
KECCAK384 Константа идентификации алгоритма дайджеста информации
1const hash.KECCAK384 = 15;
KECCAK512
KECCAK512 Константа идентификации алгоритма дайджеста информации
1const hash.KECCAK512 = 16;
BLAKE2S
Константы идентификации алгоритма дайджеста сообщения BLAKE2S
1const hash.BLAKE2S = 17;
BLAKE2B
Константы идентификации алгоритма дайджеста сообщения BLAKE2B
1const hash.BLAKE2B = 18;
BLAKE2SP
Константы идентификации алгоритма дайджеста сообщения BLAKE2SP
1const hash.BLAKE2SP = 19;
BLAKE2BP
Константа идентификации алгоритма дайджеста сообщения BLAKE2BP
1const hash.BLAKE2BP = 20;