hash.digest()方法是加密模块的Hash类的内置函数。这用于创建创建哈希时传递的数据的摘要。例如,当我们创建一个哈希时,我们首先使用crypto.createHash()创建一个哈希实例,然后使用update()函数更新哈希内容,但是直到现在我们还没有得到结果哈希值,因此要获得哈希值我们使用Hash类提供的摘要函数。
此函数将字符串作为输入,该字符串定义返回值的类型,例如hex或base64。如果您离开此字段,您将得到Buffer作为结果。
用法:
hash.digest([encoding])
参数:此函数采用以下一个参数:
- encoding:此方法采用一个可选参数,该参数定义返回输出的类型。您可以使用‘hex’或‘base64’作为参数。
模块安装:使用以下命令安装所需的模块:
npm install crypto
返回值:传递参数时,此函数返回String,而没有传递参数时,返回Buffer对象。假设我们传递了base64参数,那么返回值将是一个base64编码字符串。
范例1:以十六进制和base64的形式生成字符串GeeksForGeeks的哈希值。
index.js
// Inporting the crypto library
const crypto = require("crypto")
// Defining the algorithm
let algorithm = "sha256"
// Defining the key
let key = "GeeksForGeeks"
// Creting the digest in hex encoding
let digest1 = crypto.createHash(algorithm).update(key).digest("hex")
// Creting the digest in base64 encoding
let digest2 = crypto.createHash(algorithm).update(key).digest("base64")
// Printing the digests
console.log("In hex Encoding:\n " + digest1 + "\n")
console.log("In base64 encoding:\n " + digest2)
使用以下命令运行index.js文件:
node index.js
输出:
In hex Encoding: 0112e476505aab51b05aeb2246c02a11df03e1187e886f7c55d4e9935c290ade In base64 encoding: ARLkdlBaq1GwWusiRsAqEd8D4Rh+iG98VdTpk1wpCt4=
范例2:通过不传递编码 key 来创建摘要。
index.js
// Inporting the crypto library
const crypto = require("crypto")
// Defining the algorithm
let algorithm = "sha256"
// Defining the key
let key = "GeeksForGeeks"
// Creting the digest in hex encoding
let digest = crypto.createHash(algorithm).update(key).digest()
// Printing the digests
console.log(digest)
使用以下命令运行index.js文件:
node index.js
输出:
<Buffer 01 12 e4 76 50 5a ab 51 b0 5a eb 22 46 c0 2a 11 df 03 e1 18 7e 88 6f 7c 55 d4 e9 93 5c 29 0a de>
参考: https://nodejs.org/api/crypto.html#crypto_hash_digest_encoding
相关用法
- Node.js console.timeLog()用法及代码示例
- Node.js fs.fsyncSync()用法及代码示例
- Node.js process.nextTick()用法及代码示例
- Node.js x509.toLegacyObject()用法及代码示例
- Node.js GM charcoal()用法及代码示例
- Node.js GM blur()用法及代码示例
- Node.js GM sharpen()用法及代码示例
- Node.js GM drawLine()用法及代码示例
- Node.js GM drawArc()用法及代码示例
- Node.js GM drawPolyline()用法及代码示例
- Node.js GM drawBezier()用法及代码示例
注:本文由纯净天空筛选整理自_saurabh_jaiswal大神的英文原创作品 Node.js hash.digest() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。