麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數(shù)據(jù)庫 > Access > 正文

使用MD5加密數(shù)據(jù)庫中的用戶密碼(二)

2024-09-07 19:04:03
字體:
供稿:網(wǎng)友
使用MD5鑒別是否合法用戶
既然用戶密碼是按照MD5加密以后保存在數(shù)據(jù)庫中的,我們知道,MD5是單次加密算法,所以,不可能將加密以后的信息轉(zhuǎn)為明文,也就是說,已經(jīng)沒有辦法知道。這就出現(xiàn)一個(gè)問題,如果用戶使用賬號、密碼登錄,怎么知道用戶提供的密碼是否準(zhǔn)確呢?
這就不得不提到我們前文說到的MD5的特征,我們知道,任意一段明文數(shù)據(jù),經(jīng)過加密以后,其結(jié)果必須永遠(yuǎn)是不變的,也就是說,如果需要驗(yàn)證用戶密碼是否正確,只需要將用戶當(dāng)前提供的密碼使用MD5加密,然后和數(shù)據(jù)庫中保存的密碼字段比較就可以了。以下代碼就可以實(shí)現(xiàn)這個(gè)功能:
<%@ Import Namespace="System.Security.Cryptography" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<Script runat="server" language="VB">
Sub Login(sender as Object, e as EventArgs)
'1. 建立數(shù)據(jù)庫連接
Const strConnString as String = "connection string"
Dim objConn as New SqlConnection(strConnString)
'2. 建立Command對象
Dim strSQL as String = "SELECT COUNT(*) FROM UserAccount " & _
"WHERE Username=@Username AND Password=@Password"
Dim objCmd as New SqlCommand(strSQL, objConn)
'3. SQL參數(shù)
Dim paramUsername as SqlParameter
paramUsername = New SqlParameter("@Username", SqlDbType.VarChar, 25)
paramUsername.Value = txtUsername.Text
objCmd.Parameters.Add(paramUsername)
'加密密碼信息
Dim md5Hasher as New MD5CryptoServiceProvider()
Dim hashedDataBytes as Byte()
Dim encoder as New UTF8Encoding()
hashedDataBytes = md5Hasher.ComputeHash(encoder.GetBytes(txtPwd.Text))
Dim paramPwd as SqlParameter
paramPwd = New SqlParameter("@Password", SqlDbType.Binary, 16)
paramPwd.Value = hashedDataBytes
objCmd.Parameters.Add(paramPwd)
objConn.Open()
Dim iResults as Integer = objCmd.ExecuteScalar()
objConn.Close()
If iResults = 1 then
'正確
Else
'錯(cuò)誤
End If
End Sub
</script>
<Form runat="server">
<h1>Login</h1>
用戶賬號: <asp:TextBox runat="server" id="txtUsername" />
<br />密碼:
<asp:TextBox runat="server" id="txtPwd" TextMode="Password" />
<p><asp:Button runat="server" Text="Login" onClick="登錄" />
</form>

使用加密方式保存密碼到數(shù)據(jù)庫的限制
在決定是否使用加密方式保存密碼以前,我們還需要考慮一些問題。因?yàn)镸D5是單次加密算法,加密以后的信息不可以解密,所以,如果用戶丟失密碼,任何人都很難找到用戶原來的密碼,這時(shí)候,網(wǎng)站也就相應(yīng)的失去一個(gè)很重要的功能,那就是用戶提供其他信息來取得忘記的密碼的功能,這不能不說是網(wǎng)站的一個(gè)大缺陷。另外,采用這樣的加密方式,必須完全修改以前的用戶資料,要求用戶完全重新注冊,這也是這種方法比較困難的一個(gè)地方。

總 結(jié)
以上我們詳細(xì)介紹了MD5加密用戶密碼的實(shí)現(xiàn)方法,同時(shí),也介紹了采用加密密碼方式以后,用戶鑒別的實(shí)現(xiàn)。并討論了使用這種加密方式的應(yīng)用限制。在實(shí)際應(yīng)用中,我們可以將次方法做適當(dāng)?shù)男薷暮脱a(bǔ)充,以更加適合我們的應(yīng)用需要。
 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 免费久久精品 | 国产免费高清在线 | 午夜久久视频 | 亚洲一区二区免费 | 性猛交ⅹxxx乱巴西 在线播放中文 | 91情侣在线偷精品国产 | 99999久久久久久 | 九九热精品视频在线 | 色播视频在线播放 | 久久国产精品久久久久久 | 亚洲视频在线一区二区 | 男女羞羞视频在线免费观看 | 高清视频一区二区 | 成人午夜精品久久久久久久3d | 亚洲午夜精选 | 日本羞羞的午夜电视剧 | 日本高清com | 亚洲成人国产综合 | 羞羞视频2023 | 欧美成人免费看 | 成年人小视频在线观看 | 精品一区二区在线观看视频 | 亚洲精品自在在线观看 | 免费一级高清毛片 | 国产1区2区3区中文字幕 | 亚洲自拍第一 | 五月天堂av91久久久 | 欧美日本免费一区二区三区 | 国产午夜精品久久久 | 日韩在线激情 | av之家在线观看 | 91久久国产露脸精品国产 | 国内精品久久久久久久久久 | 一级成人免费 | 麻豆一二区 | 欧美一级美片在线观看免费 | 一区二区三区日韩 | 亚洲日色 | 日日狠狠久久偷偷四色综合免费 | 一区二区久久电影 | 精品一区二区视频在线观看 |