Incompatibility with NodeJS 17+

With node.js 17+, we get a ERR_OSSL_EVP_UNSUPPORTED error, most likely due to an unsupported hash function.

Relevant error logs:

node:internal/crypto/hash:71
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at ripemd160 (/Users/me/Desktop/CurrentProjects/hivesmartcontracts/node_modules/@hiveio/dhive/lib/crypto.js:54:21)
    at encodePublic (/Users/me/Desktop/CurrentProjects/hivesmartcontracts/node_modules/@hiveio/dhive/lib/crypto.js:76:22)
    at PublicKey.toString (/Users/me/Desktop/CurrentProjects/hivesmartcontracts/node_modules/@hiveio/dhive/lib/crypto.js:178:16)

A workaround is to use --openssl-legacy-provider with Node.JS.

Edited by Rishi Panthee