日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对于AES和RSA算法的结合使用以及MD5加盐注册登录时的密码加密

發(fā)布時間:2024/9/27 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对于AES和RSA算法的结合使用以及MD5加盐注册登录时的密码加密 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RSA和AES結合使用

接上篇的RSA和AES算法加密之后,AES對稱算法對數據量大的加密比較快,而RSA公私鑰加密的話會影響加密效率,但是AES的加密與解密的密鑰是一致的,導致密鑰不能外泄,密鑰在網絡傳輸過程中,很有可能會導致密鑰外泄。
由此可以將RSA和AES兩種結合起來,讓RSA來加密AES密鑰,AES加密內容,這樣效率和安全性都能得到保障。

以下是一個流程圖和流程說明。

1.服務端產生RSA密鑰對,把公鑰發(fā)給客戶端
2.客戶端的明文文用AES密鑰加密生成密文,然后通過RSA公鑰加密AES密鑰,就生成了key和info
3.把這兩個發(fā)送給服務端,用RSA私鑰解密得到AES密鑰
4.再用AES密鑰去解密密文,得到明文

注冊登錄時的密碼加密

MD5加鹽

這是一篇比較詳細的關于MD5的原文鏈接:https://blog.csdn.net/china_jeffery/article/details/78789108

MD5是MD5消息摘要算法的簡稱(英語:MD5 Message-Digest Algorithm),是一種廣泛使用的密碼散列函數,可以產生出一個128位(16字節(jié))的散列值(即哈希值),用于確保信息傳輸的完整性。MD5由羅納德·李維斯特設計,于1992年公開,用以取代MD4算法。這套算法的程序在RFC 1321 中被加以規(guī)范。
將數據(如一段文字)運算變?yōu)榱硪还潭ㄩL度值,是散列算法的基礎原理。
MD5已經被證實可以被碰撞破解。對于需要高度安全性的數據,專家一般建議改用其他算法,如SHA-2。

只要明文相同,那么MD5加密后的密文就相同,于是攻擊者就可以通過撞庫的方式來破解出明文。 https://www.cmd5.com/ 這是一個破解MD5的網站,是收集了大量的MD5密文和明文的一個庫,所以現在的MD5并不安全。

這是我構想的一個密碼傳輸的流程:(如果有哪里不對或者有更好的歡迎交流)

這時候就需要加點佐料,讓它變變味兒啦。

加鹽的算法有很多,考慮到加鹽的目的(防止擁有系統底層權限的人員),想做到絕對不可反查是很困難的,需要有其他軟件或者硬件的協助,在很多場景下的實用性比較差。如果只是想增加反查的難度,倒是有很多方法可以選擇,一種便利的方法是md5(Password+UserName),即將用戶名和密碼字符串相加再MD5,這樣的MD5摘要基本上不可反查。但有時候用戶名可能會發(fā)生變化,發(fā)生變化后密碼即不可用了(驗證密碼實際上就是再次計算摘要的過程)。

所以要MD5加鹽了,“鹽”指的是計算機動態(tài)生成的隨機碼,這個隨機碼會與密碼一起被MD5進行散列計算,再與生成序列一同存進數據庫。再次進行登錄驗證密碼時,由于經過散列計算處理的數據不可逆向恢復,所以需通過對輸入密碼結合隨機碼進行散列計算,將得到的值再去數據庫進行匹配

MD5是不可逆的,所以就算是管理員打開數據庫中的數據時也是經過加密的,這樣更保障了數據的安全性,在我們日常中需要忘記密碼了,也是只能改密碼并不能獲取到原來的密碼。

因此我們做了一個非常簡單的算法,每次保存密碼到數據庫時,都生成一個隨機16位數字,將這16位數字和密碼相加再求MD5摘要,然后在摘要中再將這16位數字按規(guī)則摻入形成一個48位的字符串。在驗證密碼時再從48位字符串中按規(guī)則提取16位數字,和用戶輸入的密碼相加再MD5。按照這種方法形成的結果肯定是不可直接反查的,且同一個密碼每次保存時形成的摘要也都是不同的。

或者 可以往密碼中加鹽的時候,固定加的位置,比如說從第三位到第六位是鹽等等,使得其他人獲取不到真正的密碼。

總結

以上是生活随笔為你收集整理的对于AES和RSA算法的结合使用以及MD5加盐注册登录时的密码加密的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。