crypto.createHmac(algorithm, key[, options])
algorithm{string}key{string | Buffer | TypedArray | DataView | KeyObject}options{Object} [stream.transformoptions][]- Returns: {Hmac}
Creates and returns an Hmac object that uses the given algorithm and key.
Optional options argument controls stream behavior.
The algorithm is dependent on the available algorithms supported by the
version of OpenSSL on the platform. Examples are 'sha256', 'sha512', etc.
On recent releases of OpenSSL, openssl list -digest-algorithms
(openssl list-message-digest-algorithms for older versions of OpenSSL) will
display the available digest algorithms.
The key is the HMAC key used to generate the cryptographic HMAC hash. If it is
a [KeyObject][], its type must be secret.
Example: generating the sha256 HMAC of a file
const filename = process.argv[2];
const crypto = require('crypto');
const fs = require('fs');
const hmac = crypto.createHmac('sha256', 'a secret');
const input = fs.createReadStream(filename);
input.on('readable', () => {
// Only one element is going to be produced by the
// hash stream.
const data = input.read();
if (data) hmac.update(data);
else {
console.log(`${hmac.digest('hex')} ${filename}`);
}
});
Feedback
Was this page helpful?
很高兴听到! 请告诉我们,我们如何才能改善.
很遗憾听到这个消息。 请告诉我们,我们如何才能改善.
最后修改 April 16, 2020: 加密 (a75e592)