Imail密码加密算法及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)

(0)

相关推荐

  • 浅谈discuz密码加密的方式

    discuz注册时,会把密码按一个规则加密. 比如我的密码是123456 复制代码 代码如下: echo md5("123456"); 会输出: 复制代码 代码如下: e10adc3949ba59abbe56e057f20f883e 而数据库的值却为: 复制代码 代码如下: 7839dc9437013b5c11a5d86e9b8350e9 注意到: 有个叫salt的字段,其值为:d82a35 其实这是一个随机的字符串. 第一次md5后的值再加上盐值(salt)再进行md5,就是要得到的

  • PHP结合jQuery实现找回密码

    通常所说的密码找回功能不是真的能把忘记的密码找回,因为我们的密码是加密保存的,一般开发者会在验证用户信息后通过程序生成一个新密码或者生成一个特定的链接并发送邮件到用户邮箱,用户从邮箱链接到网站的重置密码模块重新设置新密码. 当然现在有的网站也有手机短信的方式找回密码,原理就是通过发送验证码来验明正身,和发送邮件验证一样,最终还是要通过重置密码来完成找回密码的流程. 一般步骤是: 1.表单输入注册时的邮箱: 2.验证用户邮箱是否正确,如果用户邮箱不存在网站的用户表中,则提示用户邮箱未注册: 3.发

  • MySQL修改root账号密码的方法

    MySQL数据库中如何修改root用户的密码呢?下面总结了修改root用户密码的一些方法 1: 使用set password语句修改 mysql> select user(); +----------------+ | user() | +----------------+ | root@localhost | +----------------+ 1 row in set (0.08 sec) mysql> set password=password('123456'); Query OK,

  • 使用 Salt + Hash 将密码加密后再存储进数据库

    (一) 为什么要用哈希函数来加密密码 如果你需要保存密码(比如网站用户的密码),你要考虑如何保护这些密码数据,象下面那样直接将密码写入数据库中是极不安全的,因为任何可以打开数据库的人,都将可以直接看到这些密码. 解决的办法是将密码加密后再存储进数据库,比较常用的加密方法是使用哈希函数(Hash Function).哈希函数的具体定义,大家可以在网上或者相关书籍中查阅到,简单地说,它的特性如下: (1)原始密码经哈希函数计算后得到一个哈希值 (2)改变原始密码,哈希函数计算出的哈希值也会相应改变

  • C#修改及重置电脑密码DirectoryEntry实现方法

    本文实例讲述了C#修改及重置电脑密码DirectoryEntry实现方法.分享给大家供大家参考.具体如下: C#修改电脑密码方法如下: /// <summary> /// 更改Windows帐户密码 /// </summary> /// <param name="username"></param> /// <param name="oldPwd"></param> /// <param

  • 在MySQL中生成随机密码的方法

    cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" | fold -w 10 |head -10 Si1N9kUyuZ ddzsRXFgxA caDRBRT4Px buGk6LkX4d N5Xod1TOyr 1645cBxAjl KRjwJR2Txu nhQedXagL9 RraDEZgfhY QxCurm5eZF 参数说明: 如果需要特别复杂的密码可以试一下: cat /dev/urandom | LC_ALL=C tr -dc "

  • javasript实现密码的隐藏与显示

    javascript实现的查看隐藏的密码框中明文信息的方法,用户输入密码时显示星号,如何查看明文信息呢,用js可以实现查看密码框的明文. 在密码框中输入密码,会以星号来显示,文字内容被自动隐藏了. 用户输入密码时显示星号,如何查看明文信息呢,用js可以实现查看密码框的明文. 代码: <html><head><title>密码的隐藏与显示</title> </head> <body bgcolor=#fef4d9><br>&

  • PHP之密码加密的几种方式

    PHP开发WEB应用程序,经常会完成用户注册信息,注册信息里面包括邮箱和密码的验证问题,这篇文章主要是针对密码加密的技师方式. MD5 相信很多PHP开发者在最先接触PHP的时候,处理密码的首选加密函数可能就是MD5了,我当时就是这样的: 复制代码 代码如下: $password = md5($_POST["password"]); 上面这段代码是不是很熟悉?然而MD5的加密方式目前在PHP的江湖中貌似不太受欢迎了,因为它的加密算法实在是显得有点简单了,而且很多破解密码的站点都存放了很

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

    Imail的所有邮局信息,比如用户,密码都实际上都是存储在计算机注册表当中的,所以只需要 打开注册表就可以看到Imail里的所有信息,包括用户的密码.细节: Imail将企业邮局信息全部存储在: HKEY_LOCAL_MACHINE\SOFTWARE\Ipswitch\IMail\Domains\<DOMAINNAME>\Users\<USERNAME> 这样一个键里,其中DomainName是邮局名,UserName是用户名,而在<USERNAME>下有一个名叫Pas

  • vbs imail 密码解密

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

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

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

  • php用户密码加密算法分析【Discuz加密算法】

    本文实例讲述了php用户密码加密算法.分享给大家供大家参考,具体如下: 今天在拿Discuz进行二次开发时需要在代码里验证Discuz的用户名密码,结果不小心掉进了坑里,因为Discuz的论坛有两张表来存储用户数据,一张在Discuz的数据库ultrax里面的pre_common_member里面,另一个是存储在了UCenter的数据库ucenter的uc_members表里.花了很大功夫在研究ultrax库里那张pre_common_member的数据,研究它的密码是如何生成的,结果搜了一下发

  • 使用 Iisftp.vbs 创建FTP站点的方法

    应用到: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1 可以使用命令行脚本 iisftp.vbs(存储在 systemroot\System32 中)在运行带有 IIS 6.0 的 Windows Server 2003 家族成员的本地或远程计算机上创建文件传输协议 (FTP) 站点配置.该命令并不创建或破坏内容,但它会设置目录结构和 IIS 配置文件. iisftp.vbs下载:http://

  • 通过IIS自带工具Iisapp.vbs查询哪个w3wp.exe站点占用资源(cpu或内存)

    经过查找发现是因为w3wp.exe占用了100%的cpu导致80端口占用巨大,其它的操作都无法进行. 在任务管理器中看到的是w3wp.exe占用资源过多,那么就需要查看w3wp.exe的pid值. 下面是寻找出错网站的过程:要找到这个网站,必须把有问题的进程跟该网站的应用程序池联系起来.首先设置任务管理器的查看方式,加入PID的显示: 然后再命令行运行iisapp -a,可以看到PID跟应用程序池的对应关系: 再去iis中看该应用程序池对应的网站,有问题的网站就找到了,剩下的就是这个网站代码中的

  • Django密码存储策略分析

    一.源码分析 Django 发布的 1.4 版本中包含了一些安全方面的重要提升.其中一个是使用 PBKDF2 密码加密算法代替了 SHA1 .另外一个特性是你可以添加自己的密码加密方法. Django 会使用你提供的第一个密码加密方法(在你的 setting.py 文件里要至少有一个方法) PASSWORD_HASHERS = [ 'django.contrib.auth.hashers.PBKDF2PasswordHasher', 'django.contrib.auth.hashers.PB

  • Python破解excel进入密码的过程详解

    目录 一.excel进入密码 二.密码解除思路 三.python 1.conf.ini 2.crack.py 一.excel进入密码 加密算法cipher Algorithm=“AES” AES加密算法的详细介绍与实现 二.密码解除思路 通过排列组合的方式进行查找 注意:此方法比较考验对密码字典的选取,且耗费时间较长,仅供参考学习!! 文件夹如图所示: 将待破解的文件放到excel文件夹中. 三.python 1.conf.ini 将准备好的密码字典添加到conf.ini中password后面,

  • PJBlog安全性分析

    PJBlog2是PuterJam开发的一款免费的ASP + Access的个人blog系统,这几天偶想弄个blog来玩玩,经过比较选中了功能.界面都相对较好的PJBlog2.经过试用,感觉这blog还不错,也发现几个安全方面的小问题,就把我的一点点见解发出来.我分析的版本是05年12月11日发布的PJBlog2 v2.4.1211版本. 一. 密码加密算法 PJBlog2没有采用常用的MD5算法对用户密码加密,而是使用的SHA1算法.SHA1算法跟MD5类似,也是单向散列函数,不过它对任意长度的

  • 怎样通过iisapp命令查找pid来解决IIS的cpu占用率过高问题

    我们先来看看iisapp的一些参数 iisapp -a pid 可以查出对应的域名 反之 iisapp -p domain 查pid的语法 iisapp [a/ AppPoolName | /p AppPoolID] 参数 /a AppPoolName 指定特定应用程序池的名称.(可选项) /p AppPoolID 按 ID 号指定应用程序池.(可选项) 注释 如果未指定应用程序池名或 ID,则 iisapp 列出所有运行应用程序. 仅当使用 /s 时, 才可使用 /u 和 /p 命令行选项.必

随机推荐