下面是注册页面写入数据库的处理部分
| Oldpassword= md5(request.form(“password1”)) |
| A=left(Oldpassword,beginnumber-1) ‘截取客户端得到的密码原始md5值未被截取的前端部分 B=right(Oldpassword,16-(beginnumber+number-1)) ‘截取客户端得到的密码原始md5值未被截取的后端部分 Password1=A&get_key(number)&B ‘截取部分调用随机函数随机生成一组数并且与前面截取的前端及后端重新组合在一起 Rs(“password2”)=password1 ’将组合后的密码存入数据库 |
那么保存成功,接下来如何读取和验证呢?同样给出一个简单的例子:
| funcition pass_left(pass) ‘首先定义截取md5密码左端部分的函数 pass=left(pass,beginnumber-1) Changepass=pass End function funcition pass_right(pass)’定义截取md5密码右端的部分 pass=left(pass, 16-(beginnumber+number-1)) Changepass=pass End function Password=md5(request.form(“password”)) ‘获取客户端密码 |
…..
| If pass_left(password)<>pass_left(rs(“pasword2”)) or pass_right(password)<>pass_right(rs(“password2”)) then ‘对随机截取部分外的部分进行比对判断 Response.write “密码错误” Else Response.write “登陆成功” End if |
经过这样混淆加密的密文复杂度和可能种类多了非常多,而且也容易欺骗入侵者,即使他们查询到了。也登陆不进去,思维一定很混乱或许会认为这是一个虚假的数据库,或者是一个蜜罐,从而放弃攻击和猜解。

