黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图
您现在的位置: 黑客风云 >> 黑客文章 >> 黑客入门 >> 电脑新手 >> 文章正文
[推荐]Imail密码加密算法及VBS实现
        ★★★★★
Imail密码加密算法及VBS实现
文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2007-7-11

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)

文章录入:cainiaowang    责任编辑:cainiaowang 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    VIP 专 区
    Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
    ICP备案:冀06009886