Базовый модуль модуля

хеш модуля

Модуль хеширования в основном используется для реализации алгоритмов дайджеста сообщений и является очень важным подмодулем при реализации алгоритмов шифрования. В то же время алгоритм дайджеста сообщения также является основой многих алгоритмов шифрования.

Перед использованием hashсубмодуля вам необходимо require('hash');загрузить модуль с расширением .

В hashмодуль в основном входят следующие классы Digest: Hmac, . Среди них Digestкласс используется для расчета алгоритма дайджеста сообщения, а Hmacкласс используется для расчета хэш-сообщения с ключом.

Вот простой пример кода, использующий сводку Digestкласса Compute MD5:

1 2 3 4 5 6 7 8 9 10 11 12
const 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 2
static Digest hash.digest(Integer algo, Buffer data = NULL);

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

  • algo: Целое число, укажите алгоритм работы дайджеста.
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

md5

Создайте операнд дайджеста сообщения MD5.

1
static Digest hash.md5(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

sha1

Создайте операнд дайджеста сообщения SHA1.

1
static Digest hash.sha1(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

sha224

Создайте операнд дайджеста сообщения SHA224.

1
static Digest hash.sha224(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

sha256

Создайте операнд дайджеста сообщения SHA256.

1
static Digest hash.sha256(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

sha384

Создайте операнд дайджеста сообщения SHA384.

1
static Digest hash.sha384(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

sha512

Создайте операнд дайджеста сообщения SHA512.

1
static Digest hash.sha512(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

ripemd160

Создайте операнд дайджеста сообщения RIPEMD160.

1
static Digest hash.ripemd160(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

sm3

Создайте операнд дайджеста сообщения SM3

1
static Digest hash.sm3(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

Создайте операнд дайджеста сообщения SM3 и выполните его предварительную обработку.

1 2 3
static Digest hash.sm3(PKey pubKey, String id, Buffer data = NULL);

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

  • pubKey:PKey, открытый ключ подписи
  • id: строка, идентификатор подписи.
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

sha3_256

Создайте операнд дайджеста сообщения SHA3_256.

1
static Digest hash.sha3_256(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

sha3_384

Создайте операнд дайджеста сообщения SHA3_384.

1
static Digest hash.sha3_384(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

sha3_512

Создайте операнд дайджеста сообщения SHA3_512.

1
static Digest hash.sha3_512(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

shake128

Создайте операнд дайджеста сообщения SHAKE128.

1
static Digest hash.shake128(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

shake256

Создайте операнд дайджеста сообщения SHAKE256.

1
static Digest hash.shake256(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

keccak256

Создайте операнд дайджеста сообщения KECCAK256.

1
static Digest hash.keccak256(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

keccak384

Создайте операнд дайджеста сообщения KECCAK384.

1
static Digest hash.keccak384(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

keccak512

Создайте операнд дайджеста сообщения KECCAK512.

1
static Digest hash.keccak512(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

blake2s

Создайте операнд дайджеста сообщения BLAKE2S.

1
static Digest hash.blake2s(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

blake2b

Создайте операнд дайджеста сообщения BLAKE2B.

1
static Digest hash.blake2b(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

blake2sp

Создайте операнд дайджеста сообщения BLAKE2SP.

1
static Digest hash.blake2sp(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

blake2bp

Создайте операнд дайджеста сообщения BLAKE2BP.

1
static Digest hash.blake2bp(Buffer data = NULL);

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

  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac

Создает операнд подписи дайджеста сообщения на основе указанного идентификатора алгоритма.

1 2 3
static Digest hash.hmac(Integer algo, Buffer key, Buffer data = NULL);

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

  • algo: Целое число, укажите алгоритм работы дайджеста.
  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_md5

Создайте операнд подписи дайджеста сообщения MD5.

1 2
static Digest hash.hmac_md5(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_sha1

Создайте операнд подписи дайджеста сообщения SHA1.

1 2
static Digest hash.hmac_sha1(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_sha224

Создайте операнд подписи дайджеста сообщения SHA224.

1 2
static Digest hash.hmac_sha224(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_sha256

Создайте операнд подписи дайджеста сообщения SHA256.

1 2
static Digest hash.hmac_sha256(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_sha384

Создайте операнд подписи дайджеста сообщения SHA384.

1 2
static Digest hash.hmac_sha384(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_sha512

Создайте операнд подписи дайджеста сообщения SHA512.

1 2
static Digest hash.hmac_sha512(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_ripemd160

Создайте объект операции подписи дайджеста сообщения RIPEMD160.

1 2
static Digest hash.hmac_ripemd160(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_sm3

Создайте операнд подписи дайджеста сообщения SM3

1 2
static Digest hash.hmac_sm3(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

Создайте объект операции подписи дайджеста сообщения SM3 и выполните предварительную обработку.

1 2 3 4
static 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 2
static Digest hash.hmac_sha3_256(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_sha3_384

Создайте операнд подписи дайджеста сообщения SHA3_384.

1 2
static Digest hash.hmac_sha3_384(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_shake128

Создайте объект операции подписи дайджеста сообщения SHAKE128.

1 2
static Digest hash.hmac_shake128(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_shake256

Создайте объект операции подписи дайджеста сообщения SHAKE256.

1 2
static Digest hash.hmac_shake256(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_sha3_512

Создайте операнд подписи дайджеста сообщения SHA3_512.

1 2
static Digest hash.hmac_sha3_512(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_keccak256

Создайте операнд подписи дайджеста сообщения KECCAK256.

1 2
static Digest hash.hmac_keccak256(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_keccak384

Создайте операнд подписи дайджеста сообщения KECCAK384.

1 2
static Digest hash.hmac_keccak384(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_keccak512

Создайте операнд подписи дайджеста сообщения KECCAK512.

1 2
static Digest hash.hmac_keccak512(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_blake2s

Создайте объект операции подписи дайджеста сообщения BLAKE2S.

1 2
static Digest hash.hmac_blake2s(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_blake2b

Создайте объект операции подписи дайджеста сообщения BLAKE2B.

1 2
static Digest hash.hmac_blake2b(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_blake2sp

Создайте объект операции подписи дайджеста сообщения BLAKE2SP.

1 2
static Digest hash.hmac_blake2sp(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

hmac_blake2bp

Создайте объект операции подписи дайджеста сообщения BLAKE2BP.

1 2
static Digest hash.hmac_blake2bp(Buffer key, Buffer data = NULL);

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

  • key:Buffer, двоичный ключ подписи
  • data:Buffer, создают двоичные данные, которые обновляются одновременно.Значение по умолчанию равно нулю, и данные не обновляются.

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

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

постоянный

MD5

Константа идентификации алгоритма дайджеста сообщения MD5

1
const hash.MD5 = 1;

SHA1

Константа идентификации алгоритма дайджеста сообщения SHA1

1
const hash.SHA1 = 2;

SHA224

Константа идентификации алгоритма дайджеста сообщения SHA224

1
const hash.SHA224 = 3;

SHA256

Константа идентификации алгоритма дайджеста сообщения SHA256

1
const hash.SHA256 = 4;

SHA384

Константа идентификации алгоритма дайджеста сообщения SHA384

1
const hash.SHA384 = 5;

SHA512

Константа идентификации алгоритма дайджеста сообщения SHA512

1
const hash.SHA512 = 6;

RIPEMD160

Константа идентификации алгоритма дайджеста информации RIPEMD160

1
const hash.RIPEMD160 = 7;

SM3

Константы идентификации алгоритма дайджеста сообщения SM3

1
const hash.SM3 = 8;

SHA3_256

Константа идентификации алгоритма дайджеста сообщения SHA3_256

1
const hash.SHA3_256 = 9;

SHA3_384

Константа идентификации алгоритма дайджеста сообщения SHA3_384

1
const hash.SHA3_384 = 10;

SHA3_512

Константа идентификации алгоритма дайджеста сообщения SHA3_512

1
const hash.SHA3_512 = 11;

SHAKE128

Константа идентификации алгоритма дайджеста сообщения SHAKE128

1
const hash.SHAKE128 = 12;

SHAKE256

Константа идентификации алгоритма дайджеста сообщения SHAKE256

1
const hash.SHAKE256 = 13;

KECCAK256

KECCAK256 Константа идентификации алгоритма дайджеста информации

1
const hash.KECCAK256 = 14;

KECCAK384

KECCAK384 Константа идентификации алгоритма дайджеста информации

1
const hash.KECCAK384 = 15;

KECCAK512

KECCAK512 Константа идентификации алгоритма дайджеста информации

1
const hash.KECCAK512 = 16;

BLAKE2S

Константы идентификации алгоритма дайджеста сообщения BLAKE2S

1
const hash.BLAKE2S = 17;

BLAKE2B

Константы идентификации алгоритма дайджеста сообщения BLAKE2B

1
const hash.BLAKE2B = 18;

BLAKE2SP

Константы идентификации алгоритма дайджеста сообщения BLAKE2SP

1
const hash.BLAKE2SP = 19;

BLAKE2BP

Константа идентификации алгоритма дайджеста сообщения BLAKE2BP

1
const hash.BLAKE2BP = 20;