Crypto algorithm list

0 votes

I'm trying to find a list of strings that can be used a crypto algorithm to fit into this function, replacing SHA256.

crypto.createHmac("SHA256", secret).update(string).digest('base64'),

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-cypher-commands

I've outputted the content of those two commands to this gist.

What bothers me is that SHA256 is not in either of those lists.

I would really like the definitive algorithm list.

Apr 5 in Blockchain by Rahul
• 8,980 points
37 views

1 answer to this question.

0 votes

The learning here is that cyphers 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 cyphers and hashes respectively.

var crypto = require('crypto') 
console.log(crypto.getCiphers()) 
console.log(crypto.getHashes())



Which logs the following ciphers:

[ 

'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' 

]



And the following 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'

]



Here are my settings:

  • OpenSSL version is OpenSSL 0.9.8zg 14 July 2015

  • Node --version is v0.12.4

answered Apr 7 by Aditya
• 7,280 points

Related Questions In Blockchain

0 votes
1 answer

yfinance Crypto symbol list

After what I know about, YahooFinance uses ...READ MORE

answered Mar 24 in Blockchain by Rahul
• 8,980 points
53 views
+1 vote
8 answers

How is Blockchain a linked list?

Blockchain is similar to Single Linked List ...READ MORE

answered Aug 3, 2018 in Blockchain by Omkar
• 69,190 points
9,249 views
+1 vote
4 answers

How PBFT algorithm works?

PBFT is a way for a distributed ...READ MORE

answered Apr 25, 2019 in Blockchain by Kiran
6,147 views
0 votes
1 answer

Where can I find the reference format for crypto-config.yaml and configtx.yaml Hyperledger Fabric files?

The sample config files in the Hyperledger Fabric main ...READ MORE

answered Jun 27, 2018 in Blockchain by aryya
• 7,440 points
786 views
0 votes
1 answer
0 votes
1 answer

Truffle tests not running after truffle init

This was a bug. They've fixed it. ...READ MORE

answered Sep 11, 2018 in Blockchain by Christine
• 15,790 points
918 views
0 votes
1 answer
0 votes
1 answer

Start script missing error when running npm start

It seems that there is an undefined ...READ MORE

answered Feb 10 in Java by Soham
• 8,730 points
1,282 views
webinar REGISTER FOR FREE WEBINAR X
Send OTP
REGISTER NOW
webinar_success Thank you for registering Join Edureka Meetup community for 100+ Free Webinars each month JOIN MEETUP GROUP