最近在开发虚拟主机管理系统用Serv U作为服务器的FTP软件,当把用户与Serv U的用户整合时发现Serv U的用户密码加密方式不是常规的MD5加密,经过研究发现Serv U的加密方式很巧妙:
Serv U密码 = 2位随机字母 + MD5加密(2位随机字母 + 原始密码明文)
了解加密流程那么Serv U密码的生成函数实现起来就简单了
Function FtpPwd(Str)
Dim StrArray,I
StrArray = Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
For I = 1 To 2
Randomize
StrCode = StrArray(Int((UBound(StrArray) - 0 + 1) * Rnd + 0)) & StrCode
Next
生成2位随机字母
FtpPwd = StrCode & UCase(Md5(StrCode & Str))
用常规MD5加密
End Function
|