在Node.js加密模块中获取可用的哈希算法

时间:2019-06-10 12:12:03

标签: node.js openssl cryptography cryptojs

我想知道是否有一种方法(例如API方法)来了解NodeJs加密模块中所有可用的哈希算法(以及确切的输入名称)。

根据官方文档,在createHash函数中说:

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

  

该算法取决于受支持的可用算法   平台上的OpenSSL版本。例如“ sha256”,   'sha512'等。在OpenSSL的最新版本中,openssl列表   -digest-algorithms(旧版OpenSSL的openssl list-message-digest-algorithms)将显示可用的摘要算法。

因此,根据我所运行的节点版本中的OpenSSL版本,我将具有不同的哈希算法选项吗?有什么方法(如API方法)直接了解已安装的加密模块中的可用哈希算法?

谢谢

1 个答案:

答案 0 :(得分:0)

节点的crypto根据其文档提供了getHashes()的api。

样品清单

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