在前面的介绍中,我们提到网站往往将用户的账号、密码等信息使用非加密的方式保存到数据库,比如账号使用类型为VarChar的UserCount字段,同样,密码也是采用类型为VarChar的Password字段。但是,如果我们打算采用MD5加密方式存储密码信息,就必须改变密码字段PassWord的类型为16为二进制方式,这个其实我们也不难理解,因为在前面的介绍中,我们知道加密以后的输出,是使用二进制数组的,所以,这里必须做相应的改变。
当用户注册成功,正式建立一个账号的时候,数据库中就必须为这个用户增加一条记录。以下的程序代码实现了建立一个账号的功能,在页面中,程序要求用户输入账号、密码等信息,然后,将这些信息作为账号信息存入名为UserCount的数据表,在这个表中,用户密码是使用MD5加密保存的。下面就是实现以上页面的具体代码:
<%@ Import Namespace="System.Security.Cryptography" %>
<%@ 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>
在以上程序实现的页面中,“用户名”和“密码”输入框要求用户输入自己的账号和密码,用户输入自己的信息以后,按“建立用户账号”按钮,就可以建立一个账号并且存入数据库。我们同时需要特别注意,因为以上的程序使用到了MD5加密和数据库等功能,所以,在代码最开头,我们引入了几个稍微特别一点的名字空间,这是不可缺少的。
我们可以看到,PassWord字段的信息是二进制方式保存的,即使数据库被人取得,也不可能知道密码具体是什么意思。当然,密码也就不会泄露。
分享到:
相关推荐
总的来说,Java MD5加密数据库连接池密码是一种提高系统安全性的常见做法,通过加密处理,即使数据库配置信息被泄露,也能降低密码被直接利用的风险。同时,了解如何在Java程序中实现MD5加密和解密,对于开发和维护...
为了增加安全性,通常会结合加盐(Salt)策略,即在密码前或后添加一个随机字符串再进行MD5加密,这样即使两个用户使用相同的密码,其加密结果也会不同,从而降低彩虹表攻击的风险。此外,还可以使用多次迭代的哈希...
使用MD5编码实现数据库用户密码字段的加密 使用MD5编码实现数据库用户密码字段的加密 使用MD5编码实现数据库用户密码字段的加密
标题"md5加密数据库"暗示了这个小案例是关于如何使用MD5算法来加密数据库中的敏感信息,如用户密码。数据库安全性是任何应用程序的重要组成部分,尤其是涉及到用户隐私和财务信息时。通过MD5加密,原始数据会被转化...
jsp网页中用户登陆密码的MD5加密 MD5加密是一种常用的密码学哈希函数,用于确保数据的完整性和_authentication。MD5算法是RSA Data Security公司在1992年发布的,用于生成一个128位的哈希值。MD5加密广泛应用于各种...
当用户输入密码时,系统会将输入的密码用MD5进行哈希,然后与数据库中存储的MD5值进行比较。如果两者匹配,则验证通过,否则失败。这种方式保护了用户的密码不被直接暴露,增加了安全性。 然而,MD5算法也存在一些...
如否使用MD5加密ASP数据库密码
在ASP(Active Server Pages)环境中,MD5加密常用于保护数据库中的敏感信息,如用户密码。当用户注册或登录时,他们的原始密码会被MD5算法处理,生成的哈希值存储在数据库中,而不是明文密码。这样,即使数据库被...
在IT领域,尤其是在数据库安全与数据完整性保护方面,MD5加密技术被广泛应用于各种场景,包括用户密码存储、数据校验等。Oracle数据库作为一种企业级的数据库管理系统,提供了多种方式来实现MD5加密,这对于确保数据...
附:如果遇到MD5加密文件,而又不知道的密码的,请在数据库中换上这组加密的数据。 admin---16位加密---7a57a5a743894a0e admin---32位加密---21232f297a57a5a743894a0e4a801fc3 admin---40位加密---7a57a5a743894...
MD5(Message-Digest Algorithm 5)作为一种常用的散列算法,在Servlet中实现对数据库中数据的MD5加密是一种常见的安全实践。 ### MD5加密原理 MD5算法是一种广泛使用的散列函数,它可以将任意长度的数据转换为一...
"jdbc用MD5对密码进行加密 完整"这个主题涉及到的是如何使用Java JDBC(Java Database Connectivity)来实现用户密码的MD5加密,以提高数据安全性。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它...
当用户登录时,输入的密码也会先进行MD5加密,然后与数据库中存储的哈希值进行比较,如果两者一致,则认证成功。这种方式虽然不能防止所有的安全威胁,但可以提供一定程度的保护。 Struts2是一个基于MVC设计模式的...
在登录注册系统中,MD5通常用于对用户输入的密码进行加密处理,使得即使数据库被泄露,原始密码也无法直接获取,提高了安全性。 在登录界面,用户输入用户名和密码后,后台程序会接收到这些数据。在存储之前,密码...
例如,在开发数据库管理系统时,如果需要对所有用户的密码进行安全存储,使用MD5批量加密工具就显得非常高效。 在提供的压缩包文件中,包含了一些常见的动态链接库(DLL)文件,这些文件在Windows系统中起着关键...
本示例代码聚焦于如何在WinForm应用程序中使用MD5(Message-Digest Algorithm 5)算法对用户登录密码进行加密,确保数据的安全性。 MD5是一种广泛使用的哈希函数,能够将任意长度的信息映射为固定长度的输出,通常...
在本项目中,"Spring Boot整合mybatis(连接数据库测试及md5加密)"是一个适合初学者的教程,旨在教你如何将流行的Spring Boot框架与MyBatis ORM(对象关系映射)工具结合,同时实现数据库连接和MD5加密功能。...
标题中的“使用MD5加密的ADO数据库存储登陆界面”指的是在设计一个登录界面时,采用MD5算法对用户的密码进行加密处理,然后将加密后的密码存储到使用ADO(ActiveX Data Objects)技术连接的数据库中。这样的设计可以...
### crypto-js 库在前端开发中的应用:MD5与DES加密技术详解 #### 一、前言 在当今数字化时代,信息安全变得尤为重要。无论是保护用户的个人信息还是确保数据传输的安全性,加密技术都扮演着至关重要的角色。在...
在实际项目中,MD5加密可以应用于密码存储、文件校验等多个场景,但需要注意的是,由于MD5已知的碰撞攻击问题,现在对于安全性要求极高的场景,MD5已经不再被视为安全的加密方式,常常会被SHA系列或其他更强的哈希...