欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

NodeJS實(shí)現(xiàn)不可逆加密與密碼密文保存的方法

 更新時(shí)間:2018年03月16日 09:10:56   作者:IzumoRiki  
這篇文章主要介紹了NodeJS實(shí)現(xiàn)不可逆加密與密碼密文保存的方法,簡(jiǎn)單講述了不可逆加密與密碼密文保存的原理并結(jié)合實(shí)例形式分析了nodejs相關(guān)加密操作實(shí)現(xiàn)技巧,需要的朋友可以參考下

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

在應(yīng)用中,常常有要將用戶的密碼加密儲(chǔ)存的需要。

以明文保存密碼有個(gè)缺點(diǎn):一旦泄漏時(shí)容易造成極大的損失,可能會(huì)連帶其他網(wǎng)站的用戶、密碼也造成損失(因?yàn)榇蠖鄶?shù)用戶在多數(shù)網(wǎng)站使用相同的賬號(hào)與密碼)。

這個(gè)泄漏可能來(lái)自于兩方面:駭客入侵與運(yùn)維人員監(jiān)守自盜。

為了防止在密碼明文泄漏,我們需要對(duì)在數(shù)據(jù)庫(kù)中保存的密碼字段進(jìn)行不可逆加密。準(zhǔn)確地說(shuō),是加密以后再保存到數(shù)據(jù)庫(kù)中。

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

在NodeJS中,它們的使用極為簡(jiǎn)便,直接使用官方內(nèi)建的 crypto 包即可:

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

當(dāng)用戶注冊(cè)時(shí),將用戶提交的密碼先不可逆加密,然后將密文保存在數(shù)據(jù)庫(kù)內(nèi)。

當(dāng)用戶登錄時(shí),將用戶提交的密碼先以相同方式加密,然后與數(shù)據(jù)庫(kù)中的密文比對(duì),來(lái)判斷密碼的正誤。

理論上有無(wú)數(shù)個(gè)密碼對(duì)應(yīng)同一個(gè)Hash值,不過(guò)不用過(guò)于擔(dān)心被撞表的風(fēng)險(xiǎn),因?yàn)橄啾戎?,你的Web服務(wù)器與數(shù)據(jù)庫(kù)可能會(huì)在泛洪攻擊中先行崩潰。

PS:關(guān)于加密解密感興趣的朋友還可以參考本站在線工具:

在線SHA1加密工具:
http://tools.jb51.net/password/sha1encode

MD5在線加密工具:
http://tools.jb51.net/password/CreateMD5Password

文字在線加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

在線散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在線sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

希望本文所述對(duì)大家nodejs程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • node之本地服務(wù)器圖片上傳的方法示例

    node之本地服務(wù)器圖片上傳的方法示例

    這篇文章主要介紹了node之本地服務(wù)器圖片上傳的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • node.js生成與讀取csv文件方法詳解

    node.js生成與讀取csv文件方法詳解

    這篇文章主要介紹了node.js生成與讀取csv文件方法詳解,需要的朋友可以參考下
    2022-10-10
  • Node.js操作MySQL8.0數(shù)據(jù)庫(kù)無(wú)法連接的問(wèn)題解決

    Node.js操作MySQL8.0數(shù)據(jù)庫(kù)無(wú)法連接的問(wèn)題解決

    使用node.js連接數(shù)據(jù)庫(kù)MySQL 8時(shí)候,顯示報(bào)錯(cuò) ER_NOT_SUPPORTED_AUTH_MODE,本文就來(lái)介紹一下解決方法,感興趣的可以了解一下
    2023-10-10
  • 快速了解Node中的Stream流是什么

    快速了解Node中的Stream流是什么

    今天小編就為大家分享一篇關(guān)于快速了解Node中的Stream流是什么,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • nodejs圖片處理工具gm用法小結(jié)

    nodejs圖片處理工具gm用法小結(jié)

    這篇文章主要介紹了nodejs圖片處理工具gm用法小結(jié),詳細(xì)的介紹了gm的使用,還有圖片處理的實(shí)例,非常具有實(shí)用價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • nodejs的路徑問(wèn)題的解決

    nodejs的路徑問(wèn)題的解決

    這篇文章主要介紹了nodejs的路徑問(wèn)題的解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 詳解如何優(yōu)雅在webpack項(xiàng)目實(shí)現(xiàn)mock服務(wù)器

    詳解如何優(yōu)雅在webpack項(xiàng)目實(shí)現(xiàn)mock服務(wù)器

    這篇文章主要為大家介紹了詳解如何優(yōu)雅在webpack項(xiàng)目實(shí)現(xiàn)mock服務(wù)器,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Node.js重新刷新session過(guò)期時(shí)間的方法

    Node.js重新刷新session過(guò)期時(shí)間的方法

    在Node.js中,我們通常使用express-session這個(gè)包來(lái)使用和管理session,保存服務(wù)端和客戶端瀏覽器之間的會(huì)話狀態(tài)。那如何才能實(shí)現(xiàn)當(dāng)用戶刷新當(dāng)前頁(yè)面或者點(diǎn)擊頁(yè)面上的按鈕時(shí)重新刷新session的過(guò)期時(shí)間呢,接下來(lái)通過(guò)本文一起學(xué)習(xí)吧
    2016-02-02
  • node.js中的url.format方法使用說(shuō)明

    node.js中的url.format方法使用說(shuō)明

    這篇文章主要介紹了node.js中的url.format方法使用說(shuō)明,本文介紹了url.format的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 如何用nodejs給C#寫(xiě)一個(gè)數(shù)據(jù)表的實(shí)體類生成工具

    如何用nodejs給C#寫(xiě)一個(gè)數(shù)據(jù)表的實(shí)體類生成工具

    這篇文章主要介紹了如何用nodejs給C#寫(xiě)一個(gè)數(shù)據(jù)表的實(shí)體類生成工具,對(duì)nodejs感興趣的同學(xué),可以參考下
    2021-05-05

最新評(píng)論