国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Node.js學(xué)習(xí)之路16——加密

zacklee / 1976人閱讀

摘要:使用方法創(chuàng)建一個對象創(chuàng)建對象,加密算法為讀取該文件,為是文件的對象創(chuàng)建一個摘要輸出摘要算法算法將散列算法與一個密鑰結(jié)合在一起,以阻止對簽名完整性的破壞。

未完成

1. 加密crypto

crypto模塊中,為每一種加密算法定義了一個類

可以使用getCiphers方法查看在Node.js中所有能夠使用的加密算法crypto.getCiphers()

可以使用getHashes()方法查看在Node.js中所有能夠使用的散列算法crypto.getHashes()

2. 散列算法

散列(哈希)算法用來實現(xiàn)一些重要處理,允許對一段數(shù)據(jù)進(jìn)行驗證的前提下,將該數(shù)據(jù)模糊化,或者為一大段數(shù)據(jù)提供一個校驗碼。

使用createHash方法創(chuàng)建一個hash對象crypto.createHash("algorithm");

const crypto = require("crypto");
const fs = require("fs");
const shasum = crypto.createHash("sha1");// 創(chuàng)建hash對象,加密算法為sha1
let file = fs.ReadStream("./fs.js");//讀取該文件,為s
file.on("data", (d) => {
    console.log(d);//d是file文件的Buffer對象
    shasum.update(d);// 創(chuàng)建一個摘要
});

file.on("end", () => {
    let d = shasum.digest("hex");// 輸出摘要
    console.log(d);
});

/**
 * 
 * 74b68572a7259696f8458606d89a91a206fc3fd0
 */
3. HMAC算法

HMAC算法將散列算法與一個密鑰結(jié)合在一起,以阻止對簽名完整性的破壞。

使用createHmac方法創(chuàng)建一個hmac對象crypto.createHmac(algorithm, key)

algorithm為可以在Node.js中使用的算法

key為一個字符串,指定一個PEM格式的密鑰

OpenSSL工具種,創(chuàng)建一個密鑰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"));
});

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/92953.html

相關(guān)文章

  • Node.js學(xué)習(xí)之路03——Buffer類初識

    摘要:然而,在處理流或文件流時,必須要處理二進(jìn)制數(shù)據(jù)。因此,在中,定義了一個類,該類用來創(chuàng)建一個專門存放二進(jìn)制數(shù)據(jù)的緩存區(qū)。因為在計算字符串的長度時,以位子作為一個單位,而在計算緩存區(qū)的長度時,以字節(jié)作為一個單位。 buffer對象 1. 什么是buffer 在客戶端Javascript腳本代碼中,對于二進(jìn)制數(shù)據(jù)沒有提供一個很好的支持。然而,在處理TCP流或文件流時,必須要處理二進(jìn)制數(shù)據(jù)...

    DobbyKim 評論0 收藏0
  • Node.js學(xué)習(xí)之路17——DNS模塊介紹

    摘要:在中,提供模塊,以實現(xiàn)域名查找及域名解析的處理。方法用于將一個域名解析為一組記錄。記錄是域名服務(wù)器記錄,用來指定該域名由哪個服務(wù)器進(jìn)行解析?;卣{(diào)函數(shù)有兩個參數(shù),是域名解析失敗時觸發(fā)的錯誤對象,參數(shù)為一個數(shù)組,其中存放了所有獲取到的記錄。 1. DNS 在Node.js中,提供DNS模塊,以實現(xiàn)域名查找及域名解析的處理。 在DNS模塊中,提供了三個主方法及一系列便捷方法。 reso...

    roadtogeek 評論0 收藏0
  • Node.js學(xué)習(xí)之路04——Buffer對象與字符串

    摘要:對象與字符串對象的方法將對象中保存的數(shù)據(jù)轉(zhuǎn)換為字符串第一個參數(shù)用于指定對象中保存的文字編碼格式,默認(rèn)參數(shù)值為第二個參數(shù)和第三個參數(shù)用于指定被轉(zhuǎn)換數(shù)據(jù)的起始位置與結(jié)束位置,不包含結(jié)束位置對象的方法向已經(jīng)創(chuàng)建的對象中寫入字符串第一個參數(shù)為指定需 Buffer對象與字符串 1. Buffer對象的toString()方法 將Buffer對象中保存的數(shù)據(jù)轉(zhuǎn)換為字符串 toString([e...

    dongfangyiyu 評論0 收藏0
  • 1月份前端資源分享

    摘要:更多資源請文章轉(zhuǎn)自月份前端資源分享視頻前端技術(shù)論壇融合不可錯過的迷你庫測試框架實例教程為你詳細(xì)解讀請求頭的具體含意解析的庫如果要用前端框架,開發(fā)流程是怎樣的與有什么區(qū)別正確使用的方法是什么流程圖插件小如何讓元素只能輸入純文本前端技術(shù)中 更多資源請Star:https://github.com/maidishike... 文章轉(zhuǎn)自:https://github.com/jsfront...

    solocoder 評論0 收藏0
  • Node.js學(xué)習(xí)之路13——HTTP與HTTPS

    摘要:和的區(qū)別服務(wù)器使用協(xié)議服務(wù)器使用協(xié)議服務(wù)器需要向證書授權(quán)中心申請證書一般免費(fèi)證書何紹需要交費(fèi)在少許讀客戶端有要求的情況下也會要求客戶端使用證書服務(wù)器于客戶端之間傳輸?shù)氖敲魑臄?shù)據(jù)而服務(wù)器于客戶端之間傳輸?shù)氖墙?jīng)過安全加密后的密文數(shù)據(jù)服務(wù)器通常使 4. HTTP和HTTPS的區(qū)別 HTTPS服務(wù)器使用HTTPS協(xié)議,HTTP服務(wù)器使用HTTP協(xié)議. HTTPS服務(wù)器需要向證書授權(quán)(Ce...

    lei___ 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<