Node.js 中的 crypto.createHash() 方法


crypto.createHash() 方法将创建一个哈希对象,然后将其返回。该哈希对象可用于通过给定算法生成哈希摘要。可选选项用于控制流行为。对于某些哈希函数,如 XOF 和“shake256”,输出长度用于指定以字节为单位的所需输出长度。

语法

crypto.createHash(algorithm, [options])

参数

以上参数的说明如下 −

  • 算法 – 该算法用于生成哈希摘要。输入类型为字符串。

  • 选项 – 这些是可选参数,可用于控制流行为。

示例

创建一个名为 createHash.js 的文件,并复制以下代码段。创建文件后,使用以下命令运行此代码,如以下示例所示 −

node createHash.js

createHash.js

在线演示

// crypto.createHash() demo example

// Importing crypto module
const crypto = require('crypto');

// Deffining the secret key
const secret = 'TutorialsPoint';

// Initializing the createHash method using secret
const hashValue = crypto.createHash('sha256', secret)

   // Data to be encoded
   .update('Welcome to TutorialsPoint !')

   // Defining encoding type
   .digest('hex');
// Printing the output
console.log("Hash Obtained is: ", hashValue);

输出

C:\home
ode>> node createHash.js Hash Obtained is: 5f55ecb1ca233d41dffb6fd9e307d37b9eb4dad472a9e7767e8727132b784461

示例

我们来看另一示例。

在线演示

// crypto.createHash() demo example

// Importing crypto module
const crypto = require('crypto');
const fs = require('fs');

// Getting the current file path
const filename = process.argv[1];

// Creting hash for current path using secret
const hash = crypto.createHash('sha256', "TutorialsPoint");

const input = fs.createReadStream(filename);
input.on('readable', () => {
   // Reading single element produced by hash stream.
   const val = input.read();
   if (val)
      hash.update(val);
   else {
      console.log(`${hash.digest('hex')} ${filename}`);
   }
});

输出

C:\home
ode>> node createHash.js d1bd739234aa1ede5acfaccee657296ead1879644764f45be17466a9192c3967 /home/node/test/createHash.js

更新于: 20-May-2021

2000+ 次浏览

开启 职业生涯

完成课程并获得认证

立即开始
广告