在網站開發時你還是只用md5加密密碼嗎?

2021-01-27    分類: 網站建設

開發網站離不開用戶的注冊與登錄,今天來說說在網站開發的時候關于用戶密碼的保存方式,傳統的方式有以下幾種

  • 明文存儲:肉眼就可以識別,沒有任何安全性。 誰用誰傻缺
  • 加密存儲:通過一定的變換形式,使得密碼原文不易被識別。

密碼加密的幾類方式:

  1. 明文轉碼加密:BASE64, 7BIT等,這種方式只是個障眼法,不是真正的加密。它是一種可逆的加密。
  2. 對稱算法加密:DES, AES等,如果密鑰泄露,加密就會失效了。
  3. 簽名算法加密:也可以理解為單向哈希加密,比如MD5, SHA1等。加密算法固定,容易被暴力破解。如果密碼相同,得到的哈希值是一樣的。

如果你只是簡單的使用md5將用戶的密碼進行加密,那么如果你的庫被別人拖了,現在有很多可以直接反查的網絡工具就可以進行暴力破解,那么能不能有一種方法,用戶的明文密碼即使多次使用,但是數據庫中記錄的加密密碼也是不同的,這樣即使數據庫被拖了,那么也很難暴力破解,真的有這種方法嗎?

答案是肯定的,有一種加密方式叫加鹽哈希加密,加密時混入一段“隨機”字符串(鹽值)再進行哈希加密。即使密碼相同,如果鹽值不同,那么哈希值也是不一樣的。現在網站開發中主要是運用這種加密方法

pip install Werkzeug

可以看到,密碼是123,但是使用該函數每次計算出來的值都是不一樣的

'pbkdf2:sha256:50000$fESwY4Cl$38fdf741069ef37c207211b9bee69514582dc366660563d75c00e7cbfd7cbd8a'

'pbkdf2:sha256:50000$hUhR8Gr3$73d44814d5cd490c04e0559141fb327c31766a0314d82ee05e33c33e1559af78'

這樣即使你的數據庫被黑客拖了,通過暴力破解也是非常困難的。

generate_password_hash 函數定義為

generate_password_hash(password, method='pbkdf2:sha256', salt_length=8)

參數 「password」 為明文密碼,「method」 哈希的方式,格式為 pbpdf2:<method> 主要有sha1,sha256,md5

salt_length 鹽值的長度,默認為8

>>> generate_password_hash('123',method='pbkdf2:sha1',salt_length=10)

'pbkdf2:sha1:50000$4GUBRzzizn$45b0f6b84a4ca4352b45feea8283fc48186f9ee8'

>>> generate_password_hash('123',method='pbkdf2:sha1',salt_length=8)

'pbkdf2:sha1:50000$4kHPpS9R$1f87c09c052342fd0d65b75aa70ababb1c17e7df'

>>> generate_password_hash('123',method='pbkdf2:md5',salt_length=8)

'pbkdf2:md5:50000$zppMHqux$01acb41e0b2858bbc849abf77692a9c0'

>>> generate_password_hash('123',method='pbkdf2:md5',salt_length=8)

'pbkdf2:md5:50000$rMaQutjR$1cc67c05e063cec0c8e5f8e048ddb5e1'

結語

這個加鹽哈希加密以后的密文,放到另外一臺服務器上也是可以校驗通過的,如果做網站數據庫遷移也不用重新生成數據,使用這套加密算法可以很大程度上規避暴力破解密碼,還是那名老話,密碼是123456的就算使用再牛逼的加密你依然是不安全的,另外撞庫也是不可避免的,所以作為用戶可以嘗試不同的網站使用不同的密碼來規避撞庫問題。

感謝評論區里幫忙指正,RSA是非對稱加密,DES和AES是對稱加密,并且md5不算是加密算法,只能說它可以起到加密明文的效果。

由于今日頭條上發的文章對于代碼排版不太方便,所以我將代碼片段都使用了截圖的方式,想要復制代碼請點擊 "了解更多"來查看原文或者微信搜索公眾號"序語程言"

分享題目:在網站開發時你還是只用md5加密密碼嗎?
分享網址:http://m.kartarina.com/news35/97635.html

成都網站建設公司_創新互聯,為您提供網站設計公司品牌網站制作Google網站改版靜態網站網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都做網站
主站蜘蛛池模板: 国产精品无码久久久久久久久久| 亚洲AV综合色区无码二区爱AV| 亚洲一级特黄大片无码毛片| 超清无码一区二区三区| 亚洲∧v久久久无码精品| 人妻av中文字幕无码专区| 国产台湾无码AV片在线观看| 久久久久亚洲AV成人无码| 黄色成人网站免费无码av| 久久久久亚洲AV成人无码网站| 久久精品无码一区二区三区免费| 一本无码中文字幕在线观| 无码人妻精品一二三区免费| 人妻丰满熟妇AV无码片| 亚洲色偷拍另类无码专区| 亚洲精品人成无码中文毛片 | 久久精品国产亚洲AV无码麻豆| 无码人妻aⅴ一区二区三区有奶水| 亚洲AV无码一区二区三区系列 | 国产精品无码成人午夜电影| 九九无码人妻一区二区三区| 日韩午夜福利无码专区a| 亚洲国产精品无码专区影院| 亚洲精品无码久久不卡| 国模无码视频一区二区三区| 一本大道无码av天堂| 无码夫の前で人妻を侵犯| 丰满熟妇乱又伦在线无码视频 | 国产精品无码久久综合| 日韩人妻无码精品系列| 亚洲无码高清在线观看 | 一本之道高清无码视频| 无码毛片一区二区三区视频免费播放| 亚洲人成人无码.www石榴| 亚洲日韩看片无码电影| 亚洲av无码日韩av无码网站冲| 精品多人p群无码| 亚洲av无码一区二区三区四区| 亚洲熟妇无码爱v在线观看| 日韩丰满少妇无码内射| 亚洲精品GV天堂无码男同|