国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

NodeJS實現不可逆加密與密碼密文保存的方法

2024-05-06 16:43:10
字體:
來源:轉載
供稿:網友

本文實例講述了NodeJS實現不可逆加密與密碼密文保存的方法。分享給大家供大家參考,具體如下:

在應用中,常常有要將用戶的密碼加密儲存的需要。

以明文保存密碼有個缺點:一旦泄漏時容易造成極大的損失,可能會連帶其他網站的用戶、密碼也造成損失(因為大多數用戶在多數網站使用相同的賬號與密碼)。

這個泄漏可能來自于兩方面:駭客入侵與運維人員監守自盜。

為了防止在密碼明文泄漏,我們需要對在數據庫中保存的密碼字段進行不可逆加密。準確地說,是加密以后再保存到數據庫中。

常用的不可逆加密算法有MD5SHA-1

在NodeJS中,它們的使用極為簡便,直接使用官方內建的 crypto 包即可:

var clearText = '123456';// MD5 Hashrequire('crypto').createHash('md5').update(clearText).digest('hex');// 'e10adc3949ba59abbe56e057f20f883e'// SHA-1 Hashrequire('crypto').createHash('sha1').update(clearText).digest('hex');// '7c4a8d09ca3762af61e59520943dc26494f8941b'

當用戶注冊時,將用戶提交的密碼先不可逆加密,然后將密文保存在數據庫內。

當用戶登錄時,將用戶提交的密碼先以相同方式加密,然后與數據庫中的密文比對,來判斷密碼的正誤。

理論上有無數個密碼對應同一個Hash值,不過不用過于擔心被撞表的風險,因為相比之下,你的Web服務器與數據庫可能會在泛洪攻擊中先行崩潰。

希望本文所述對大家nodejs程序設計有所幫助。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 赞皇县| 永济市| 皮山县| 新田县| 吉林市| 吉安市| 托克托县| 吉木乃县| 浮梁县| 澄江县| 佳木斯市| 金昌市| 霍城县| 保亭| 富民县| 呈贡县| 鸡西市| 临西县| 嘉黎县| 西林县| 阜新市| 榕江县| 石渠县| 修武县| 玛沁县| 丁青县| 陕西省| 乌审旗| 蛟河市| 额济纳旗| 大渡口区| 肇东市| 丰县| 改则县| 临清市| 枝江市| 伊通| 巴塘县| 凤庆县| 兴化市| 温州市|