Получить доступные алгоритмы хеширования в криптомодуле nodejs - PullRequest
0 голосов
/ 10 июня 2019

Хотелось бы узнать, есть ли способ (например, метод API) узнать все доступные алгоритмы хеширования (и точное имя ввода) в криптомодуле NodeJs.

Согласно официальным документам, вФункция createHash называется:

https://nodejs.org/api/crypto.html#crypto_crypto_createhash_algorithm_options

Алгоритм зависит от доступных алгоритмов, поддерживаемых версией OpenSSL на платформе.Примерами являются 'sha256', 'sha512' и т. Д. В последних выпусках OpenSSL алгоритмы openssl list -digest-алгоритмы (openssl list-message-digest-алгоритмы для более старых версий OpenSSL) будут отображать доступные алгоритмы дайджеста.

Таким образом, в зависимости от версии OpenSSL в версии узла, которую я использую, у меня будут разные параметры алгоритма хеширования?Любой способ (например, метод API) напрямую узнать доступные алгоритмы хеширования в установленном криптомодуле?

Спасибо

1 Ответ

0 голосов
/ 12 июня 2019

Узел crypto имеет API для getHashes() в соответствии с их документацией.

Пример списка

let crypto = require('crypto');
let listOfSupportedHashes = crypto.getHashes();
console.log('Total supported hashes : ', listOfSupportedHashes.length);
...