新聞資訊
當(dāng)前位置:首頁(yè) > 新聞資訊 > 網(wǎng)站建設(shè)開(kāi)發(fā)
來(lái)源:成都網(wǎng)站建設(shè) 作者:賽維思網(wǎng)絡(luò) 發(fā)布日期:2014-04-15 瀏覽:2362次
MySQL SHA()函數(shù)會(huì)把 一段文本加密為唯一的40字符編碼。登錄用戶界面相當(dāng)簡(jiǎn)單,不過(guò)我們還沒(méi)有滿足加密登錄口令的需求。MySQL提供了一個(gè)名為SHA()的函數(shù),它會(huì)對(duì)文本串應(yīng)用一個(gè)加密算法。其結(jié)果是一個(gè)加密串,長(zhǎng)度固定為40個(gè)十六進(jìn)制字符,而不論原始口令的長(zhǎng)度是多少。所以這個(gè)函數(shù)實(shí)際上會(huì)生成一個(gè)唯一表示口令的40字符編碼。
由于SHA()是一個(gè)MySQL函數(shù)而不是PHP函數(shù),所以調(diào)用這個(gè)函數(shù)時(shí),要作為在表中插入口令的查詢的一部分。在登錄過(guò)程的另一端,同樣需要用到SHA()函數(shù),它會(huì)查看用戶輸入的口令是否與數(shù)據(jù)庫(kù)中存儲(chǔ)的加密口令匹配。
一旦對(duì)一個(gè)信息加密,很自然地會(huì)考慮在某個(gè)位置上對(duì)其解密。不過(guò)SHA()函數(shù)是一種單向加密,無(wú)法還原。這是為了確保加密數(shù)據(jù)的安全性,即使有人攻擊你的數(shù)據(jù)庫(kù),并偷走所有口令,它們也無(wú)法對(duì)其解密。
要了解用戶登錄是否正確地輸入口令,你并不需要知道用戶的原始口令。這是因?yàn)椋灰峁┩瑯拥奈谋敬琒HA()就會(huì)生成相同的40字符編碼。所以只需對(duì)用戶輸入的登錄口令加密,并與用戶表中的密碼列中的值比較。這可以利用一個(gè)簡(jiǎn)單的SQL查詢完成,根據(jù)一個(gè)口令來(lái)選擇匹配的用戶行。
上一篇:小型網(wǎng)站如何制作
下一篇:安全性需要人類的干預(yù)
Copyright ? www.gaccc.cn All Rights Reserved. 成都賽維思網(wǎng)絡(luò)技術(shù)有限公司 蜀ICP備13002520號(hào)-3 Sitemap