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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。