如果您使用nodejs,我建議使用具有本地支持的。您將從這些實現的未來更新中受益。
名單是在這裏:https://nodejs.org/api/crypto.html
而且他們是相當標準的算法,這樣你可以找到幾乎任何編程語言,如Java或C。
在節點中,您可以調用require('crypto').getHashes()
並查看支持的散列列表。
我跑了它在我的電腦上,結果是:
[ 'DSA',
'DSA-SHA',
'DSA-SHA1',
'DSA-SHA1-old',
'RSA-MD4',
'RSA-MD5',
'RSA-MDC2',
'RSA-RIPEMD160',
'RSA-SHA',
'RSA-SHA1',
'RSA-SHA1-2',
'RSA-SHA224',
'RSA-SHA256',
'RSA-SHA384',
'RSA-SHA512',
'dsaEncryption',
'dsaWithSHA',
'dsaWithSHA1',
'dss1',
'ecdsa-with-SHA1',
'md4',
'md4WithRSAEncryption',
'md5',
'md5WithRSAEncryption',
'mdc2',
'mdc2WithRSA',
'ripemd',
'ripemd160',
'ripemd160WithRSA',
'rmd160',
'sha',
'sha1',
'sha1WithRSAEncryption',
'sha224',
'sha224WithRSAEncryption',
'sha256',
'sha256WithRSAEncryption',
'sha384',
'sha384WithRSAEncryption',
'sha512',
'sha512WithRSAEncryption',
'shaWithRSAEncryption',
'ssl2-md5',
'ssl3-md5',
'ssl3-sha1',
'whirlpool' ]
我使用節點V4.2.1。您也可以使用cryptojs。 cryptojs支持的哈希算法列表如下:https://code.google.com/p/crypto-js/#The_Hasher_Algorithms
奇怪的是,'xxhash'綁定不應該生成不同的哈希值。他們應該都是一樣的。 有2個版本,xxh32和xxh64。確保您比較類似的版本。 – Cyan