国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清水县| 黄陵县| 济宁市| 龙里县| 大安市| 微博| 湘潭县| 科尔| 牟定县| 米脂县| 蒙自县| 波密县| 威宁| 阳西县| 柘荣县| 常州市| 连山| 峨边| 英山县| 鲁山县| 乌兰浩特市| 江津市| 额济纳旗| 印江| 普兰县| 澄江县| 潍坊市| 平阳县| 阜南县| 建瓯市| 抚顺市| 鲜城| 葵青区| 华宁县| 元江| 平度市| 应城市| 宁明县| 高雄县| 迁西县| 新宾|