首页 > 编程 > VBScript > 正文

Imail密码加密算法及VBS实现

2020-06-26 18:11:30
字体:
来源:转载
供稿:网友
用vbs实现的imail的加密算法,安全性大家也许会知道一点了,大家试着破解吧
 
Imail的所有邮局信息,比如用户,密码都实际上都是存储在计算机注册表当中的,所以只需要 
打开注册表就可以看到Imail里的所有信息,包括用户的密码.
细节: 
Imail将企业邮局信息全部存储在: 
HKEY_LOCAL_MACHINE/SOFTWARE/Ipswitch/IMail/Domains/<DOMAINNAME>/Users/<USERNAME> 
这样一个键里,其中DomainName是邮局名,UserName是用户名,而在<USERNAME>下有一个名叫Password的键值则是存储的用户密码.密码并不是明文存储的,而是结这了简单的加密运行后生成的,他的加密过程如下: 
1.读取用户名,并将其全部转为小写 
2.将用户名每个数字转为对应的ASCII码 
3.计算出用户名里每个字母和第一个字母的偏移量 
4.计算出每个密码字母对应的ASCII码 
5. 将密码的每个ASCII码加上参考值(用户名首字母的ASCII减去97)再加上用户名对应的偏移量 
6.再对应密码表就可以得到密码了. 
具体程序如下: 

Sub initCode(ByRef Infos) '自动生成密码表 
     Count=-97 
     CodeArray=Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F") 
     for z=0 to Ubound(CodeArray) 
         for y=0 to Ubound(CodeArray) 
             Infos.Add Cstr(Count),CodeArray(z) & CodeArray(y) 
             Count=Count+1 
         next 
     next 
End Sub 

Function GetImailPassword(User,Pass) 'Imail密码加密函数 
     encryptCode="" 
     Set objDict=CreateObject("Scripting.Dictionary") 
     Call initCode(objDict) 
     User=Lcase(User) '将用户转为小写 
     FirstChar=left(User,1)  
     FirstCharCode=asc(FirstChar) '得到首字母的ASCII码 
     Reference=FirstCharCode-97 '得到参考值 
     execute "Dim UserCode(" & len(User)-1 & ")" '定义两个存放用户与密码ASCII的数组 
     execute "Dim PassCode(" & len(Pass)-1 & ")" 
     for i=0 to len(User)-1 '取得用户字母的偏移量 
         UChar=Asc(mid(User,i+1,1)) 
         UserCode(i)=FirstCharCode-UChar 
     next 
     for j=0 to len(Pass)-1 '取得密码对应的新值 
         PChar=Asc(mid(Pass,j+1,1)) 
         iPos=j mod len(User) 
         PassCode(j)=PChar+Reference-UserCode(iPos) 
     next 
     for k=0 to Ubound(PassCode) '查询密码表,最后得到密码 
         encryptCode= encryptCode & objDict.item(Cstr(PassCode(k))) 
     next 
     GetImailPassword=encryptCode 
end function 

iUser="web9898" '测试用的Imail用户名 
iPass="web9898.cn" '测试用的Imail密码 
Wscript.Echo iPass & "加密后的密码是:" & GetImailPassword(iUser,iPass)
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表