随着学习的深入,慢慢了解网站程序(比如深度学习整站程序)的爱好者,都会发现很多网站的数据库,保存密码的字段内并没有直接存储密码,而是由一长串莫名其妙的数字和字母组成,这是为什么呢?实际上这是通过MD5加密实现的密码保护。MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。请注意我使用了“字节串”而不是“字符串”这个词,是因为这种变换只与字节的值有关,与字符集或编码方式无关。MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。 http://www.dw8.org Dreamweaver 专业网站
MD5还广泛用于加密和解密技术上,在很多网站系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的,用户Login的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较。这样即使黑客得到数据库也不知道登录密码,确保了网站的安全。
在DW中是如何实现MD5密码加密,这里结合深度学习整站简述一下实现过程:
登陆页设置:
1、在添加服务器行为前,现建立相应登陆表单,如图: http://www.dw8.org Dreamweaver 专业网站
http://www.dw8.org dw专业网站
2、建立服务器行为->用户身份验证->登录用户 ,如图:
http://www.dw8.org Dreamweaver 专业网站



http://www.dw8.org Dreamweaver 专业网站
3、将deep_md5.asp拷贝到相应目录下。在相应位置输入如下
'===========================================================
<!--#include file="路径/deep_md5.asp" -->
'===========================================================
http://www.dw8.org dw专业网站
3. 在登陆页适当位置找到:
'=========================================================
MM_rsUser.Source = MM_rsUser.Source & " FROM tAdmin WHERE fUserName='" & Replace(MM_valUsername,"'","''") &"' AND
http://www.dw8.org Dreamweaver cs3 专业网站
fPassword='" & (Replace(Request.Form("password"),"'","''")) & "'"
'========================================================= http://www.dw8.org Dreamweaver 专业网站
若为DW8自生成代码,将代码(Replace(Request.Form("password"),"'","''"))改为md5(Replace(Request.Form("password"),"'","''"))如下
http://www.dw8.org Dreamweaver 专业网站
:
'========================================================= MM_rsUser.Source = MM_rsUser.Source & " FROM tAdmin WHERE fUserName='" & Replace(MM_valUsername,"'","''") &"' AND
fPassword='" & md5(Replace(Request.Form("password"),"'","''")) & "'"
'========================================================= http://www.dw8.org dw专业网站
修改密码
1. 将deep_md5.asp拷贝到相应目录下 http://www.dw8.org Dreamweaver 专业网站
2. 在相应位置输入如下
'=========================================================
<!--#include file="路径/deep_md5.asp" -->
'=========================================================
3.在更新页找到:
'=========================================================
' set the form values
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
Next
'========================================================= http://www.dw8.org dw专业网站
4.将代码CStr(Request.Form(MM_fields(MM_i)))改为CStr(md5(Request.Form(MM_fields(MM_i)))),如下:
'========================================================
' set the form values
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(MM_i+1) = CStr(md5(Request.Form(MM_fields(MM_i))))
Next
'======================================================== http://www.dw8.org Dreamweaver 专业网站
http://www.dw8.org dw专业网站
http://www.dw8.org Dreamweaver 专业网站
