QWERTY密碼:加密與解密vbs版
更新時間:2013年01月14日 00:11:45 作者:
用vbs寫的一個QWERTY解密與QWERTY加密的代碼,需要的朋友可以參考下
昨天在做Arthur's Online Riddle的時候有這么一道題目:
If QWERTY = ABCDEF then, OLSQFR = ?
Qwerty 是各國使用的基于拉丁字母的標準的打字機和計算機鍵盤。QWERTY 是鍵盤第一行的前六個字母。鍵的安排順序由克里斯多?!な挔査梗–hristopher Sholes)設(shè)計的。使用QWERTY排列的打字機在1874年投入批量生產(chǎn)。從此成為應(yīng)用最廣泛的人機接口,大部分的計算機都是使用 Qwerty 鍵盤。
如果 QWERTY 對應(yīng) ABCDEF 的話,那么其他字母的對應(yīng)關(guān)系就是分別按照鍵盤順序和字母順序排列。
QWERTYUIOPASDFGHJKLZXCVBNM <=> ABCDEFGHIJKLMNOPQRSTUVWXYZ
一個一個查找太麻煩,于是寫了個 QWERTY 解密的 VBS 腳本:
'Author: Demon
'Website: http://demon.tw
'Date: 2012/2/9
Function FromQwerty(str)
Dim d, s, t, i, c, r
s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
t = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To 52
d(Mid(t, i, 1)) = Mid(s, i, 1)
Next
For i = 1 To Len(str)
c = Mid(str, i, 1)
If d.Exists(c) Then
r = r & d(c)
Else
r = r & c
End If
Next
FromQwerty = r
End Function
WScript.Echo FromQwerty("OLSQFR")
順便也寫了一個 QWERTY 加密的:
'Author: Demon
'Website: http://demon.tw
'Date: 2012/2/9
Function ToQwerty(str)
Dim d, s, t, i, c, r
s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
t = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To 52
d(Mid(s, i, 1)) = Mid(t, i, 1)
Next
For i = 1 To Len(str)
c = Mid(str, i, 1)
If d.Exists(c) Then
r = r & d(c)
Else
r = r & c
End If
Next
ToQwerty = r
End Function
WScript.Echo ToQwerty("I LOVE YOU")
If QWERTY = ABCDEF then, O SGCT NGX = I LOVE YOU
來源:http://demon.tw/programming/qwerty-abcdef.html
If QWERTY = ABCDEF then, OLSQFR = ?
Qwerty 是各國使用的基于拉丁字母的標準的打字機和計算機鍵盤。QWERTY 是鍵盤第一行的前六個字母。鍵的安排順序由克里斯多?!な挔査梗–hristopher Sholes)設(shè)計的。使用QWERTY排列的打字機在1874年投入批量生產(chǎn)。從此成為應(yīng)用最廣泛的人機接口,大部分的計算機都是使用 Qwerty 鍵盤。
如果 QWERTY 對應(yīng) ABCDEF 的話,那么其他字母的對應(yīng)關(guān)系就是分別按照鍵盤順序和字母順序排列。
QWERTYUIOPASDFGHJKLZXCVBNM <=> ABCDEFGHIJKLMNOPQRSTUVWXYZ
一個一個查找太麻煩,于是寫了個 QWERTY 解密的 VBS 腳本:
復(fù)制代碼 代碼如下:
'Author: Demon
'Website: http://demon.tw
'Date: 2012/2/9
Function FromQwerty(str)
Dim d, s, t, i, c, r
s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
t = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To 52
d(Mid(t, i, 1)) = Mid(s, i, 1)
Next
For i = 1 To Len(str)
c = Mid(str, i, 1)
If d.Exists(c) Then
r = r & d(c)
Else
r = r & c
End If
Next
FromQwerty = r
End Function
WScript.Echo FromQwerty("OLSQFR")
順便也寫了一個 QWERTY 加密的:
復(fù)制代碼 代碼如下:
'Author: Demon
'Website: http://demon.tw
'Date: 2012/2/9
Function ToQwerty(str)
Dim d, s, t, i, c, r
s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
t = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To 52
d(Mid(s, i, 1)) = Mid(t, i, 1)
Next
For i = 1 To Len(str)
c = Mid(str, i, 1)
If d.Exists(c) Then
r = r & d(c)
Else
r = r & c
End If
Next
ToQwerty = r
End Function
WScript.Echo ToQwerty("I LOVE YOU")
If QWERTY = ABCDEF then, O SGCT NGX = I LOVE YOU
來源:http://demon.tw/programming/qwerty-abcdef.html
相關(guān)文章
使用 Iisext.vbs 列出Web服務(wù)擴展的方法
這篇文章主要介紹了如何使用 iisext.vbs 在本地或遠程計算機上列出 Web 服務(wù)擴展,需要的朋友可以參考下2014-07-07
用VBS修改遠程桌面3389端口并添加到Windows防火墻的代碼
用vbs實現(xiàn)端口就是用vbs修改的注冊表,主要是vbs的添加到防火墻的代碼,值得大家學習2008-06-06
charCodeAt與AscW函數(shù)的區(qū)別說明
charCodeAt與AscW函數(shù)的區(qū)別說明...2007-03-03
VBS教程:函數(shù)-WeekDayName 函數(shù)
VBS教程:函數(shù)-WeekDayName 函數(shù)...2006-11-11

