Imail密码加密算法及VBS实现_加密解密教程-查字典教程网
Imail密码加密算法及VBS实现
Imail密码加密算法及VBS实现
发布时间:2016-12-21 来源:查字典编辑
摘要:Imail的所有邮局信息,比如用户,密码都实际上都是存储在计算机注册表当中的,所以只需要打开注册表就可以看到Imail里的所有信息,包括用户...

Imail的所有邮局信息,比如用户,密码都实际上都是存储在计算机注册表当中的,所以只需要打开注册表就可以看到Imail里的所有信息,包括用户的密码. 细节:

Imail将企业邮局信息全部存储在:

HKEY_LOCAL_MACHINESOFTWAREIpswitchIMailDomains<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)

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新加密解密学习
    热门加密解密学习
    网络安全子分类