一个论坛的数据库里用户的密码是用MD5加密存放的,我想重置所有用户密码为1234,各位看看我的SQL语句:update s_users set `password` = '".md5("1234")."';
可是执行完后,pw是改了,可都变为 ".md5("1234")." 这个样子,而不是用MD5加密的密码形式。
不知道我有没有讲清楚,我在线等了,各位走过路过的大大们帮帮忙!
可是执行完后,pw是改了,可都变为 ".md5("1234")." 这个样子,而不是用MD5加密的密码形式。
不知道我有没有讲清楚,我在线等了,各位走过路过的大大们帮帮忙!
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<Script runat="server" language="VB">
Sub CreateAccount(sender as Object, e as EventArgs)
"1. 建立数据库连接
Const strConnString as String = "connection string"
Dim objConn as New SqlConnection(strConnString)
"2. 建立Command对象
Dim strSQL as String = _
"INSERT INTO UserAccount(Username,Password) " & _
"VALUES(@Username, @Password)"
Dim objCmd as New SqlCommand(strSQL, objConn)
"3. SQL参数
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 hashedBytes as Byte()
Dim encoder as New UTF8Encoding()
hashedBytes=md5Hasher.ComputeHash(encoder.GetBytes(txtPwd.Text))
Dim paramPwd as SqlParameter
paramPwd = New SqlParameter("@Password", SqlDbType.Binary, 16)
paramPwd.Value = hashedBytes
objCmd.Parameters.Add(paramPwd)
"加入数据库
objConn.Open()
objCmd.ExecuteNonQuery()
objConn.Close()
End Sub
</script>
<Form runat="server">
<h1>建立一个账号</h1>
用户名:<asp:TextBox runat="server" id="txtUsername" />
<br />密码:
<asp:TextBox runat="server" id="txtPwd" TextMode="Password" />
<p><asp:Button runat="server" Text="建立用户账号" onClick="CreateAccount" /></p>
</form>
结贴放分!!
不知你的SQL语句:update s_users set `password` = '".md5("1234")."'为什么要加那么多的引号??