Imail密碼加密算法及VBS實(shí)現(xiàn)
更新時(shí)間:2008年04月14日 20:45:08 作者:
用vbs實(shí)現(xiàn)的imail的加密算法,安全性大家也許會(huì)知道一點(diǎn)了,大家試著破解吧
Imail的所有郵局信息,比如用戶,密碼都實(shí)際上都是存儲(chǔ)在計(jì)算機(jī)注冊(cè)表當(dāng)中的,所以只需要
打開(kāi)注冊(cè)表就可以看到Imail里的所有信息,包括用戶的密碼.
細(xì)節(jié):
Imail將企業(yè)郵局信息全部存儲(chǔ)在:
HKEY_LOCAL_MACHINE\SOFTWARE\Ipswitch\IMail\Domains\<DOMAINNAME>\Users\<USERNAME>
這樣一個(gè)鍵里,其中DomainName是郵局名,UserName是用戶名,而在<USERNAME>下有一個(gè)名叫Password的鍵值則是存儲(chǔ)的用戶密碼.密碼并不是明文存儲(chǔ)的,而是結(jié)這了簡(jiǎn)單的加密運(yùn)行后生成的,他的加密過(guò)程如下:
1.讀取用戶名,并將其全部轉(zhuǎn)為小寫(xiě)
2.將用戶名每個(gè)數(shù)字轉(zhuǎn)為對(duì)應(yīng)的ASCII碼
3.計(jì)算出用戶名里每個(gè)字母和第一個(gè)字母的偏移量
4.計(jì)算出每個(gè)密碼字母對(duì)應(yīng)的ASCII碼
5. 將密碼的每個(gè)ASCII碼加上參考值(用戶名首字母的ASCII減去97)再加上用戶名對(duì)應(yīng)的偏移量
6.再對(duì)應(yīng)密碼表就可以得到密碼了.
具體程序如下:
Sub initCode(ByRef Infos) '自動(dòng)生成密碼表
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密碼加密函數(shù)
encryptCode=""
Set objDict=CreateObject("Scripting.Dictionary")
Call initCode(objDict)
User=Lcase(User) '將用戶轉(zhuǎn)為小寫(xiě)
FirstChar=left(User,1)
FirstCharCode=asc(FirstChar) '得到首字母的ASCII碼
Reference=FirstCharCode-97 '得到參考值
execute "Dim UserCode(" & len(User)-1 & ")" '定義兩個(gè)存放用戶與密碼ASCII的數(shù)組
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 '取得密碼對(duì)應(yīng)的新值
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" '測(cè)試用的Imail用戶名
iPass="web9898.cn" '測(cè)試用的Imail密碼
Wscript.Echo iPass & "加密后的密碼是:" & GetImailPassword(iUser,iPass)
打開(kāi)注冊(cè)表就可以看到Imail里的所有信息,包括用戶的密碼.
細(xì)節(jié):
Imail將企業(yè)郵局信息全部存儲(chǔ)在:
HKEY_LOCAL_MACHINE\SOFTWARE\Ipswitch\IMail\Domains\<DOMAINNAME>\Users\<USERNAME>
這樣一個(gè)鍵里,其中DomainName是郵局名,UserName是用戶名,而在<USERNAME>下有一個(gè)名叫Password的鍵值則是存儲(chǔ)的用戶密碼.密碼并不是明文存儲(chǔ)的,而是結(jié)這了簡(jiǎn)單的加密運(yùn)行后生成的,他的加密過(guò)程如下:
1.讀取用戶名,并將其全部轉(zhuǎn)為小寫(xiě)
2.將用戶名每個(gè)數(shù)字轉(zhuǎn)為對(duì)應(yīng)的ASCII碼
3.計(jì)算出用戶名里每個(gè)字母和第一個(gè)字母的偏移量
4.計(jì)算出每個(gè)密碼字母對(duì)應(yīng)的ASCII碼
5. 將密碼的每個(gè)ASCII碼加上參考值(用戶名首字母的ASCII減去97)再加上用戶名對(duì)應(yīng)的偏移量
6.再對(duì)應(yīng)密碼表就可以得到密碼了.
具體程序如下:
Sub initCode(ByRef Infos) '自動(dòng)生成密碼表
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密碼加密函數(shù)
encryptCode=""
Set objDict=CreateObject("Scripting.Dictionary")
Call initCode(objDict)
User=Lcase(User) '將用戶轉(zhuǎn)為小寫(xiě)
FirstChar=left(User,1)
FirstCharCode=asc(FirstChar) '得到首字母的ASCII碼
Reference=FirstCharCode-97 '得到參考值
execute "Dim UserCode(" & len(User)-1 & ")" '定義兩個(gè)存放用戶與密碼ASCII的數(shù)組
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 '取得密碼對(duì)應(yīng)的新值
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" '測(cè)試用的Imail用戶名
iPass="web9898.cn" '測(cè)試用的Imail密碼
Wscript.Echo iPass & "加密后的密碼是:" & GetImailPassword(iUser,iPass)
相關(guān)文章
VBS教程:函數(shù)-DateSerial 函數(shù)
VBS教程:函數(shù)-DateSerial 函數(shù)...2006-11-11
使用 iisext.vbs 禁用 Web 服務(wù)擴(kuò)展的方法
這篇文章主要介紹了如何使用 iisext.vbs 在本地或遠(yuǎn)程計(jì)算機(jī)上禁用 Web 服務(wù)擴(kuò)展,需要的朋友可以參考下2014-07-07
VBS基礎(chǔ)篇 - vbscript TextStream對(duì)象
TextStream對(duì)象是用于訪問(wèn)文本文件的對(duì)象,它是FileSystemObject一個(gè)獨(dú)立的附屬對(duì)象,但在使用TextStream對(duì)象時(shí),我們?nèi)砸柚鶩ileSystemObject 對(duì)象或其附屬對(duì)象來(lái)創(chuàng)建一個(gè) TextStream 對(duì)象并訪問(wèn)磁盤(pán)文件的內(nèi)容,需要的朋友可以參考下2018-06-06
利用WSH里的MapNetworkDrive方法腳本蠕蟲(chóng)的傳播方式
利用WSH里的MapNetworkDrive方法腳本蠕蟲(chóng)的傳播方式...2007-02-02

