How to list supported Ciphers, Hashes, and Curves for Crypto in Node.JS
Not a complicated task. Here is the code:
var crypto = require('crypto');
console.log();
console.log('[ SUPPORTED CIPHERS ]\n')
console.log(crypto.getCiphers());
console.log();
console.log('[ SUPPORTED HASHES ]\n')
console.log(crypto.getHashes());
console.log();
console.log('[ SUPPORTED CURVES ]\n')
console.log(crypto.getCurves());
Your output should be similar to this:
E:\Codes\NodeJS\Cryptography>node listAllAlgorithms.js
[ SUPPORTED CIPHERS ]
[ 'CAST-cbc',
'aes-128-cbc',
'aes-128-cbc-hmac-sha1',
'aes-128-cbc-hmac-sha256',
'aes-128-ccm',
'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-ccm',
'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-cbc-hmac-sha256',
'aes-256-ccm',
'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-CCM',
'id-aes128-GCM',
'id-aes128-wrap',
'id-aes192-CCM',
'id-aes192-GCM',
'id-aes192-wrap',
'id-aes256-CCM',
'id-aes256-GCM',
'id-aes256-wrap',
'id-smime-alg-CMS3DESwrap',
'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' ]
[ SUPPORTED HASHES ]
[ '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' ]
[ SUPPORTED CURVES ]
[ 'Oakley-EC2N-3',
'Oakley-EC2N-4',
'brainpoolP160r1',
'brainpoolP160t1',
'brainpoolP192r1',
'brainpoolP192t1',
'brainpoolP224r1',
'brainpoolP224t1',
'brainpoolP256r1',
'brainpoolP256t1',
'brainpoolP320r1',
'brainpoolP320t1',
'brainpoolP384r1',
'brainpoolP384t1',
'brainpoolP512r1',
'brainpoolP512t1',
'c2pnb163v1',
'c2pnb163v2',
'c2pnb163v3',
'c2pnb176v1',
'c2pnb208w1',
'c2pnb272w1',
'c2pnb304w1',
'c2pnb368w1',
'c2tnb191v1',
'c2tnb191v2',
'c2tnb191v3',
'c2tnb239v1',
'c2tnb239v2',
'c2tnb239v3',
'c2tnb359v1',
'c2tnb431r1',
'prime192v1',
'prime192v2',
'prime192v3',
'prime239v1',
'prime239v2',
'prime239v3',
'prime256v1',
'secp112r1',
'secp112r2',
'secp128r1',
'secp128r2',
'secp160k1',
'secp160r1',
'secp160r2',
'secp192k1',
'secp224k1',
'secp224r1',
'secp256k1',
'secp384r1',
'secp521r1',
'sect113r1',
'sect113r2',
'sect131r1',
'sect131r2',
'sect163k1',
'sect163r1',
'sect163r2',
'sect193r1',
'sect193r2',
'sect233k1',
'sect233r1',
'sect239k1',
'sect283k1',
'sect283r1',
'sect409k1',
'sect409r1',
'sect571k1',
'sect571r1',
'wap-wsg-idm-ecid-wtls1',
'wap-wsg-idm-ecid-wtls10',
'wap-wsg-idm-ecid-wtls11',
'wap-wsg-idm-ecid-wtls12',
'wap-wsg-idm-ecid-wtls3',
'wap-wsg-idm-ecid-wtls4',
'wap-wsg-idm-ecid-wtls5',
'wap-wsg-idm-ecid-wtls6',
'wap-wsg-idm-ecid-wtls7',
'wap-wsg-idm-ecid-wtls8',
'wap-wsg-idm-ecid-wtls9' ]