Imail密码加密算法及VBS实现_vbs

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)

时间: 2024-09-26 07:11:51

Imail密码加密算法及VBS实现_vbs的相关文章

Imail密码加密算法及asp实现

加密|算法 简述:Imail是一个流行的运行在WindowsNT服务器下的邮件服务器软件,因为配置简单,容易使用,功能完善.所以现在很多虚拟主机服务商或企业均是采用这个邮件系统.Imail的所有邮局信息,比如用户,密码都实际上都是存储在计算机注册表当中的,所以只需要打开注册表就可以看到Imail里的所有信息,包括用户的密码. 细节:Imail将企业邮局信息全部存储在:HKEY_LOCAL_MACHINE\SOFTWARE\Ipswitch\IMail\Domains\<DOMAINNAME>\

实现winrar密码破解的vbs代码_vbs

复制代码 代码如下: title="WinRaR破译(目前只做了破译数字)" set WshShell = CreateObject("WScript.Shell" ) set fso = CreateObject("scripting.filesystemobject") Function input() rar_path=InputBox("请输要解密的rar或zip入路径"&Chr(13)&Chr(10)

NTLM 密码加密算法,NTLM 密码加密算法

问题描述 NTLM 密码加密算法,NTLM 密码加密算法 1C 如题,请教NTLM加密算法NTLM 密码加密算法NTLM 密码加密算法NTLM 密码加密算法 解决方案 http://netsecurity.51cto.com/art/201211/365032.htm

rsa-2015最新腾讯微博的密码加密算法,跪求解答!!!

问题描述 2015最新腾讯微博的密码加密算法,跪求解答!!! 小弟之前做了一个python版的腾讯微博模拟登录脚本,最近腾讯微博的密码加密算法改变了,模拟登录不上了.在网上搜了说是改成了rsa加密,哪位大侠告诉我rsa加密算法用python是怎样的代码? 解决方案 新浪微博模拟登录(Python+RSA加密算法)附源代码http://blog.csdn.net/monsion/article/details/8656690 python 实现rsa加密算法http://www.th7.cn/Pr

Discuz 用户密码加密算法

心想这随机生成的salt如何在登录时进行验证呢?然后网上说其实Discuz压根就没用那个密码,自己试验了一下,果真如此,即使把pre_common_member里面的用户密码改掉,照样能够正常登录,看来这个密码压根就没用,害我绕了一个大圈子. 好了,进入正题,Discuz的密码加密算法其实就是两次MD5加密,首先用明文进行一次加密,之后随机生成一个salt,再把第一次的密文后面添加salt作为明文再进行一次MD5加密.salt保存在uc_members表里,可以通过用户名进行获取. 像这样: M

vbs imail 密码解密_vbs

复制代码 代码如下: on error resume next const HKEY_LOCAL_MACHINE = &H80000002 strComputer = "." Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_ strComputer & "\root\default:StdRegProv") strKeyPath = &

打开QQ并且让它自己输入用户名和密码的vbs脚本_vbs

可以定时打开QQ并且让它自己输入用户名和密码的脚本 复制代码 代码如下: dim program  program="c:\Program Files\Tencent\qq\QQ.exe"  '你的qq路径set Wshell=CreateObject("Wscript.Shell")  set oexec=Wshell.Exec(program)  wscript.Sleep 2000  Wshell.AppActivate "QQTang" 

QWERTY密码:加密与解密vbs版_vbs

昨天在做Arthur's Online Riddle的时候有这么一道题目: If QWERTY = ABCDEF then, OLSQFR = ? Qwerty 是各国使用的基于拉丁字母的标准的打字机和计算机键盘.QWERTY 是键盘第一行的前六个字母.键的安排顺序由克里斯多福·萧尔斯(Christopher Sholes)设计的.使用QWERTY排列的打字机在1874年投入批量生产.从此成为应用最广泛的人机接口,大部分的计算机都是使用 Qwerty 键盘. 如果 QWERTY 对应 ABCDE

运行同一目录下的可执行程序的VBS代码_vbs

复制代码 代码如下: Set objShell = CreateObject("WScript.shell") strCurrentDir = objShell.CurrentDirectory set fso = createobject("scripting.filesystemobject") set f=fso.getfolder(strCurrentDir) For Each i In f.files If LCase(right(i,4)) = &quo