`
insertyou
  • 浏览: 904814 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

用 MD5 加密数据库中的用户密码

阅读更多
在前面的介绍中,我们提到网站往往将用户的账号、密码等信息使用非加密的方式保存到数据库,比如账号使用类型为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加密数据库连接池密码是一种提高系统安全性的常见做法,通过加密处理,即使数据库配置信息被泄露,也能降低密码被直接利用的风险。同时,了解如何在Java程序中实现MD5加密和解密,对于开发和维护...

    java中关于Springboot加密 md5加密,注册密码加密到数据库中的关键语句,md5加密语句.pdf

    为了增加安全性,通常会结合加盐(Salt)策略,即在密码前或后添加一个随机字符串再进行MD5加密,这样即使两个用户使用相同的密码,其加密结果也会不同,从而降低彩虹表攻击的风险。此外,还可以使用多次迭代的哈希...

    使用MD5编码实现数据库用户密码字段的加密

    使用MD5编码实现数据库用户密码字段的加密 使用MD5编码实现数据库用户密码字段的加密 使用MD5编码实现数据库用户密码字段的加密

    md5加密数据库

    标题"md5加密数据库"暗示了这个小案例是关于如何使用MD5算法来加密数据库中的敏感信息,如用户密码。数据库安全性是任何应用程序的重要组成部分,尤其是涉及到用户隐私和财务信息时。通过MD5加密,原始数据会被转化...

    jsp网页中用户登陆密码的MD5加密

    jsp网页中用户登陆密码的MD5加密 MD5加密是一种常用的密码学哈希函数,用于确保数据的完整性和_authentication。MD5算法是RSA Data Security公司在1992年发布的,用于生成一个128位的哈希值。MD5加密广泛应用于各种...

    数据库密码加密技术MD5

    当用户输入密码时,系统会将输入的密码用MD5进行哈希,然后与数据库中存储的MD5值进行比较。如果两者匹配,则验证通过,否则失败。这种方式保护了用户的密码不被直接暴露,增加了安全性。 然而,MD5算法也存在一些...

    如否使用MD5加密ASP数据库密码

    如否使用MD5加密ASP数据库密码

    如何使用MD5加密ASP数据库

    在ASP(Active Server Pages)环境中,MD5加密常用于保护数据库中的敏感信息,如用户密码。当用户注册或登录时,他们的原始密码会被MD5算法处理,生成的哈希值存储在数据库中,而不是明文密码。这样,即使数据库被...

    Oracle实现MD5加密

    在IT领域,尤其是在数据库安全与数据完整性保护方面,MD5加密技术被广泛应用于各种场景,包括用户密码存储、数据校验等。Oracle数据库作为一种企业级的数据库管理系统,提供了多种方式来实现MD5加密,这对于确保数据...

    前端实现MD5对密码进行加密

    附:如果遇到MD5加密文件,而又不知道的密码的,请在数据库中换上这组加密的数据。 admin---16位加密---7a57a5a743894a0e admin---32位加密---21232f297a57a5a743894a0e4a801fc3 admin---40位加密---7a57a5a743894...

    servlet中md5加密

    MD5(Message-Digest Algorithm 5)作为一种常用的散列算法,在Servlet中实现对数据库中数据的MD5加密是一种常见的安全实践。 ### MD5加密原理 MD5算法是一种广泛使用的散列函数,它可以将任意长度的数据转换为一...

    jdbc用MD5对密码进行加密 完整

    "jdbc用MD5对密码进行加密 完整"这个主题涉及到的是如何使用Java JDBC(Java Database Connectivity)来实现用户密码的MD5加密,以提高数据安全性。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它...

    md5加密 对用户名和密码加密

    当用户登录时,输入的密码也会先进行MD5加密,然后与数据库中存储的哈希值进行比较,如果两者一致,则认证成功。这种方式虽然不能防止所有的安全威胁,但可以提供一定程度的保护。 Struts2是一个基于MVC设计模式的...

    HTML实现基于MD5加密的登录注册界面源码

    在登录注册系统中,MD5通常用于对用户输入的密码进行加密处理,使得即使数据库被泄露,原始密码也无法直接获取,提高了安全性。 在登录界面,用户输入用户名和密码后,后台程序会接收到这些数据。在存储之前,密码...

    md5批量加密 dll外部动态库

    例如,在开发数据库管理系统时,如果需要对所有用户的密码进行安全存储,使用MD5批量加密工具就显得非常高效。 在提供的压缩包文件中,包含了一些常见的动态链接库(DLL)文件,这些文件在Windows系统中起着关键...

    Winform中简单使用MD5加密用户登录密码示例代码.zip

    本示例代码聚焦于如何在WinForm应用程序中使用MD5(Message-Digest Algorithm 5)算法对用户登录密码进行加密,确保数据的安全性。 MD5是一种广泛使用的哈希函数,能够将任意长度的信息映射为固定长度的输出,通常...

    Sptring Boot整合mybatis(连接数据库测试及md5加密)

    在本项目中,"Spring Boot整合mybatis(连接数据库测试及md5加密)"是一个适合初学者的教程,旨在教你如何将流行的Spring Boot框架与MyBatis ORM(对象关系映射)工具结合,同时实现数据库连接和MD5加密功能。...

    使用MD5加密的ADO数据库存储登陆界面

    标题中的“使用MD5加密的ADO数据库存储登陆界面”指的是在设计一个登录界面时,采用MD5算法对用户的密码进行加密处理,然后将加密后的密码存储到使用ADO(ActiveX Data Objects)技术连接的数据库中。这样的设计可以...

    crypto-js 对密码md5加密,DES加密

    ### crypto-js 库在前端开发中的应用:MD5与DES加密技术详解 #### 一、前言 在当今数字化时代,信息安全变得尤为重要。无论是保护用户的个人信息还是确保数据传输的安全性,加密技术都扮演着至关重要的角色。在...

    PB9.0调用MD5加密示例

    在实际项目中,MD5加密可以应用于密码存储、文件校验等多个场景,但需要注意的是,由于MD5已知的碰撞攻击问题,现在对于安全性要求极高的场景,MD5已经不再被视为安全的加密方式,常常会被SHA系列或其他更强的哈希...

Global site tag (gtag.js) - Google Analytics