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

首頁 > 開發 > PHP > 正文

HTTP上PHP+JS實現安全地傳輸密碼

2024-05-04 21:52:19
字體:
來源:轉載
供稿:網友

 

1、理論

在普通HTTP上,一般表單中的密碼都是以明文方式傳到服務器進行處理的。這無疑給了壞人以可乘之機!這里我們就說說怎么傳輸密碼才是安全的!

與其傳輸密碼本身,到不如傳輸其加密后的形式。MD5是個不錯的選擇。第一,不同的資源幾乎不可能生成相同的MD5摘要,第二,MD5的編碼方式是不可逆推的。有了這些特性,我們就可以讓MD5摘要公開的在Internet上傳輸,而不必擔心密碼被壞人知道。然后在服務端也將密碼通過同樣的方式加密,最后比較這兩個字符串。

然而,我們不能為了登陸而將密碼md5后直接通過Internet傳輸,因為壞人雖然不會知道我們的密碼,但肯定會知道這個特殊的字符串可以授權他們訪問我們的網站!

解決思路:每次登陸時,首先由服務器提供一個隨機字符串,然后客戶端將這個隨機字符串和密碼相加后再加密!這樣你的密碼沒有變,但是通過上面的方法加密后的MD5摘要卻完全不同。這樣就算壞人得到了這些MD5摘要,他們也不可能分析出你的密碼!

2、實現

客戶端Javascript并沒有提供現成的md5算法,但我們在 google 上用 "md5 javascript" 搜索,就可以得到很多md5在Javascript上實現的例子。

在PHP中我就不用多說了,直接用md5()這個函數就可以搞定!隨機字符串我們可以用session來存儲(PHP就是強啊~~)

3、注意

在JS中,中文都是UTF-8格式的,所以如果你的密碼是中文,而且存儲在服務端的密碼的編碼方式是GB2312,那么兩個密碼加密后的字符串是完全不同的!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永康市| 信阳市| 奇台县| 舒城县| 隆化县| 青冈县| 呼图壁县| 陈巴尔虎旗| 崇明县| 凤山县| 孟村| 故城县| 庆城县| 清苑县| 临泽县| 修文县| 平原县| 迁安市| 自治县| 三台县| 上杭县| 西贡区| 电白县| 晋城| 扶余县| 新龙县| 子洲县| 克拉玛依市| 东乌珠穆沁旗| 晋州市| 固始县| 景泰县| 章丘市| 溧阳市| 宁城县| 昌宁县| 托里县| 云林县| 库尔勒市| 上杭县| 郓城县|