摘要:使用方法創建一個對象創建對象,加密算法為讀取該文件,為是文件的對象創建一個摘要輸出摘要算法算法將散列算法與一個密鑰結合在一起,以阻止對簽名完整性的破壞。
未完成
1. 加密crypto在crypto模塊中,為每一種加密算法定義了一個類
可以使用getCiphers方法查看在Node.js中所有能夠使用的加密算法crypto.getCiphers()
可以使用getHashes()方法查看在Node.js中所有能夠使用的散列算法crypto.getHashes()
2. 散列算法散列(哈希)算法用來實現一些重要處理,允許對一段數據進行驗證的前提下,將該數據模糊化,或者為一大段數據提供一個校驗碼。
使用createHash方法創建一個hash對象crypto.createHash("algorithm");
</>復制代碼
const crypto = require("crypto");
const fs = require("fs");
const shasum = crypto.createHash("sha1");// 創建hash對象,加密算法為sha1
let file = fs.ReadStream("./fs.js");//讀取該文件,為s
file.on("data", (d) => {
console.log(d);//d是file文件的Buffer對象
shasum.update(d);// 創建一個摘要
});
file.on("end", () => {
let d = shasum.digest("hex");// 輸出摘要
console.log(d);
});
/**
*
* 74b68572a7259696f8458606d89a91a206fc3fd0
*/
3. HMAC算法
HMAC算法將散列算法與一個密鑰結合在一起,以阻止對簽名完整性的破壞。
使用createHmac方法創建一個hmac對象crypto.createHmac(algorithm, key)
algorithm為可以在Node.js中使用的算法
key為一個字符串,指定一個PEM格式的密鑰
在OpenSSL工具種,創建一個密鑰openssl genrsa -out key.pem 1024
</>復制代碼
const crypto = require("crypto");
const fs = require("fs");
let pem = fs.readFileSync("./key.pem");
let key = pem.toString("ascii");
let shasum = crypto.createHmac("sha1", key);
let file = fs.ReadStream("./fs.js");
file.on("data", (data) => {
console.log("data.toString()");
console.log(data.toString());
console.log("shasum.update(data)");
console.log(shasum.update(data));
});
file.on("end", () => {
console.log("shasum.digest("hex")");
console.log(shasum.digest("hex"));
});
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/92953.html
摘要:然而,在處理流或文件流時,必須要處理二進制數據。因此,在中,定義了一個類,該類用來創建一個專門存放二進制數據的緩存區。因為在計算字符串的長度時,以位子作為一個單位,而在計算緩存區的長度時,以字節作為一個單位。 buffer對象 1. 什么是buffer 在客戶端Javascript腳本代碼中,對于二進制數據沒有提供一個很好的支持。然而,在處理TCP流或文件流時,必須要處理二進制數據...
摘要:在中,提供模塊,以實現域名查找及域名解析的處理。方法用于將一個域名解析為一組記錄。記錄是域名服務器記錄,用來指定該域名由哪個服務器進行解析。回調函數有兩個參數,是域名解析失敗時觸發的錯誤對象,參數為一個數組,其中存放了所有獲取到的記錄。 1. DNS 在Node.js中,提供DNS模塊,以實現域名查找及域名解析的處理。 在DNS模塊中,提供了三個主方法及一系列便捷方法。 reso...
摘要:對象與字符串對象的方法將對象中保存的數據轉換為字符串第一個參數用于指定對象中保存的文字編碼格式,默認參數值為第二個參數和第三個參數用于指定被轉換數據的起始位置與結束位置,不包含結束位置對象的方法向已經創建的對象中寫入字符串第一個參數為指定需 Buffer對象與字符串 1. Buffer對象的toString()方法 將Buffer對象中保存的數據轉換為字符串 toString([e...
摘要:和的區別服務器使用協議服務器使用協議服務器需要向證書授權中心申請證書一般免費證書何紹需要交費在少許讀客戶端有要求的情況下也會要求客戶端使用證書服務器于客戶端之間傳輸的是明文數據而服務器于客戶端之間傳輸的是經過安全加密后的密文數據服務器通常使 4. HTTP和HTTPS的區別 HTTPS服務器使用HTTPS協議,HTTP服務器使用HTTP協議. HTTPS服務器需要向證書授權(Ce...
閱讀 2695·2021-10-22 09:55
閱讀 2027·2021-09-27 13:35
閱讀 1281·2021-08-24 10:02
閱讀 1510·2019-08-30 15:55
閱讀 1210·2019-08-30 14:13
閱讀 3484·2019-08-30 13:57
閱讀 1985·2019-08-30 11:07
閱讀 2462·2019-08-29 17:12