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

資訊專欄INFORMATION COLUMN

Node.js學習之路16——加密

zacklee / 1981人閱讀

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

未完成

1. 加密crypto

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

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

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

2. 散列算法

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

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

</>復制代碼

  1. const crypto = require("crypto");
  2. const fs = require("fs");
  3. const shasum = crypto.createHash("sha1");// 創建hash對象,加密算法為sha1
  4. let file = fs.ReadStream("./fs.js");//讀取該文件,為s
  5. file.on("data", (d) => {
  6. console.log(d);//d是file文件的Buffer對象
  7. shasum.update(d);// 創建一個摘要
  8. });
  9. file.on("end", () => {
  10. let d = shasum.digest("hex");// 輸出摘要
  11. console.log(d);
  12. });
  13. /**
  14. *
  15. * 74b68572a7259696f8458606d89a91a206fc3fd0
  16. */
3. HMAC算法

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

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

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

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

OpenSSL工具種,創建一個密鑰openssl genrsa -out key.pem 1024

</>復制代碼

  1. const crypto = require("crypto");
  2. const fs = require("fs");
  3. let pem = fs.readFileSync("./key.pem");
  4. let key = pem.toString("ascii");
  5. let shasum = crypto.createHmac("sha1", key);
  6. let file = fs.ReadStream("./fs.js");
  7. file.on("data", (data) => {
  8. console.log("data.toString()");
  9. console.log(data.toString());
  10. console.log("shasum.update(data)");
  11. console.log(shasum.update(data));
  12. });
  13. file.on("end", () => {
  14. console.log("shasum.digest("hex")");
  15. console.log(shasum.digest("hex"));
  16. });

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/92953.html

相關文章

  • Node.js學習之路03——Buffer類初識

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

    DobbyKim 評論0 收藏0
  • Node.js學習之路17——DNS模塊介紹

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

    roadtogeek 評論0 收藏0
  • Node.js學習之路04——Buffer對象與字符串

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

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

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

    solocoder 評論0 收藏0
  • Node.js學習之路13——HTTP與HTTPS

    摘要:和的區別服務器使用協議服務器使用協議服務器需要向證書授權中心申請證書一般免費證書何紹需要交費在少許讀客戶端有要求的情況下也會要求客戶端使用證書服務器于客戶端之間傳輸的是明文數據而服務器于客戶端之間傳輸的是經過安全加密后的密文數據服務器通常使 4. HTTP和HTTPS的區別 HTTPS服務器使用HTTPS協議,HTTP服務器使用HTTP協議. HTTPS服務器需要向證書授權(Ce...

    lei___ 評論0 收藏0

發表評論

0條評論

zacklee

|高級講師

TA的文章

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