当前位置: 首页 > 图文教程 > 网络编程 > ASP > 升级MD5.ASP,打造完全动态不重复的安全加密代码

ASP
ASP下经常用的字符串等函数参考资料
asp下连接数据库 ASP链接数据库字符串大全总结
asp内置对象 ObjectContext 事务管理 详解
asp 内置对象 Application 详解
ASP中 SQL语句 使用方法
ASP 中 Split 函数的实例分析
ASP 中 DateDiff 函数详解 主要实现两日期加减操作
asp 存贮过程 (SQL版asp调用存储过程)
利用ASP实现在线生成电话图片效果脚本附演示
使用ASP记录在线用户的数量的代码
关于ASP生成伪参数技巧 简洁实用的伪(僞)参数
asp 关键词字符串分割如何实现方法
用ASP编写的加密和解密类
ASP之处理用Javascript动态添加的表单元素数据的代码
asp下最常用的19个基本技巧
一些Asp技巧和实用解决方法
asp实现一个统计当前在线用户的解决方案
asp下的一个很简单的验证码程序
asp又一个分页的代码例子
asp实现防止从外部提交数据的三种方法

升级MD5.ASP,打造完全动态不重复的安全加密代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 184 ::
收藏到网摘: n/a

 

做一个完全动态的密码,让相同的密码生成不同的结果
密码aaa经过第一次运算后结果为:
jlce1d65ec3b91556234879c9db8f6da1123
第二次:
hjmnbe0d01cc1fbd3e18ae7431fa52fb3ce4
第三次:
grttb05901915e121d83ebefad7e809ef1b0
... ...
当然,亦可还原比较
以下我根据动网MD5函数修改后的代码,
'=======================================
'word 要加密的字符串
'返回加密后的 word
'例:response.write Md6("aaa")
'www.knowsky.com
'=======================================

Function Md6(Word)
Dim Random, RandomNum, reRandom, reWord
Randomize
Do While Len(Random) < 4
RandomNum = Chr(25 * rnd + 97 )
Random = Random & RandomNum
Loop                                                              
reRandom = Md5(Random)                         
reWord = Md5(Word)                                
Md6 = LCase(Random & Md5(reRandom + reWord))
End Function

'=======================================
'Wrod 需要验证的字符串,OldWord 加密后的原字符串
'返回比较后的结果,如果相等返回True,反之False
'例:pwd=“aaa“
'        old_pwd=“grttb05901915e121d83ebefad7e809ef1b0“
'        if Md6Back(pwd,old_pwd)=TRUE then
'        ... ...
'=======================================

Function Md6Back(Word, OldWord)
Dim Random, RandomNum, reRandom, reWord
Random = Mid(OldWord, 1, 4)                        
reRandom = Md5(Random)                          
reWord = Md5(Word)                    
If OldWord = Random & Md5(reRandom + reWord) Then
      Md6Back = True
  Else
      Md6Back = False
End If
End Function