加密算法列表 [英] Crypto algorithm list
问题描述
我正在尝试查找字符串
的列表,可以使用加密算法来适应此函数,替换 SHA256
。
I'm trying to find a list of strings
that can be used a a crypto algorithm to fit into this function, replacing SHA256
.
crypto.createHmac("SHA256", secret).update(string).digest('base64'),
我已经明白加密使用 openssl
,并且算法特定于运行node.js的每个系统。
I've come to the understanding that crypto uses openssl
, and that the algorithms are specific to each system running node.js.
使用以下命令,您可以看到可用于您的所有算法的列表系统。
With the following commands you can see a list of all algorithms available for your system.
openssl list-cipher-algorithms
openssl list-cipher-commands
我已将这两个命令的内容输出到这个要点。
I've outputted the content of those two commands to this gist.
困扰我的是 SHA256
不在其中任何一个列表。
What bothers me is that SHA256
is not in either of those lists.
我真的很喜欢最终的算法列表。
I would really like the definitive algorithm list.
推荐答案
这里的学习是密码
和哈希
是不同的,并使用不同的算法。使用节点的加密
使用 .getCiphers()
和 .getHashes()
分别返回一个数组的方法,该数组的名称分别为受支持的密码
和哈希
。
The learning here is that ciphers
and hashes
are different and use different algorithms. With node's crypto
use .getCiphers()
and .getHashes()
methods to return an array with the names of the supported ciphers
and hashes
respectively.
var crypto = require('crypto')
console.log(crypto.getCiphers())
console.log(crypto.getHashes())
记录以下密码:
[ 'CAST-cbc',
'aes-128-cbc',
'aes-128-cbc-hmac-sha1',
'aes-128-cfb',
'aes-128-cfb1',
'aes-128-cfb8',
'aes-128-ctr',
'aes-128-ecb',
'aes-128-gcm',
'aes-128-ofb',
'aes-128-xts',
'aes-192-cbc',
'aes-192-cfb',
'aes-192-cfb1',
'aes-192-cfb8',
'aes-192-ctr',
'aes-192-ecb',
'aes-192-gcm',
'aes-192-ofb',
'aes-256-cbc',
'aes-256-cbc-hmac-sha1',
'aes-256-cfb',
'aes-256-cfb1',
'aes-256-cfb8',
'aes-256-ctr',
'aes-256-ecb',
'aes-256-gcm',
'aes-256-ofb',
'aes-256-xts',
'aes128',
'aes192',
'aes256',
'bf',
'bf-cbc',
'bf-cfb',
'bf-ecb',
'bf-ofb',
'blowfish',
'camellia-128-cbc',
'camellia-128-cfb',
'camellia-128-cfb1',
'camellia-128-cfb8',
'camellia-128-ecb',
'camellia-128-ofb',
'camellia-192-cbc',
'camellia-192-cfb',
'camellia-192-cfb1',
'camellia-192-cfb8',
'camellia-192-ecb',
'camellia-192-ofb',
'camellia-256-cbc',
'camellia-256-cfb',
'camellia-256-cfb1',
'camellia-256-cfb8',
'camellia-256-ecb',
'camellia-256-ofb',
'camellia128',
'camellia192',
'camellia256',
'cast',
'cast-cbc',
'cast5-cbc',
'cast5-cfb',
'cast5-ecb',
'cast5-ofb',
'des',
'des-cbc',
'des-cfb',
'des-cfb1',
'des-cfb8',
'des-ecb',
'des-ede',
'des-ede-cbc',
'des-ede-cfb',
'des-ede-ofb',
'des-ede3',
'des-ede3-cbc',
'des-ede3-cfb',
'des-ede3-cfb1',
'des-ede3-cfb8',
'des-ede3-ofb',
'des-ofb',
'des3',
'desx',
'desx-cbc',
'id-aes128-GCM',
'id-aes192-GCM',
'id-aes256-GCM',
'idea',
'idea-cbc',
'idea-cfb',
'idea-ecb',
'idea-ofb',
'rc2',
'rc2-40-cbc',
'rc2-64-cbc',
'rc2-cbc',
'rc2-cfb',
'rc2-ecb',
'rc2-ofb',
'rc4',
'rc4-40',
'rc4-hmac-md5',
'seed',
'seed-cbc',
'seed-cfb',
'seed-ecb',
'seed-ofb' ]
以下哈希
:
[ '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' ]
这是我的设置:
-
openssl version
OpenSSL 0.9.8zg 2015年7月14日
-
node --version
是v0.12.4
openssl version
isOpenSSL 0.9.8zg 14 July 2015
node --version
isv0.12.4
这篇关于加密算法列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!