用VBS實(shí)現(xiàn)的凱撒密碼算法
更新時(shí)間:2013年05月08日 22:39:15 作者:
在密碼學(xué)中,愷撒密碼(或稱愷撒加密、愷撒變換)是一種最簡(jiǎn)單且最廣為人知的加密技術(shù)。它是一種替換加密的技術(shù),明文中的所有字母都在字母表上向後(或向前)按照一個(gè)固定數(shù)目進(jìn)行偏移後被替換成密文
在密碼學(xué)中,愷撒密碼(或稱愷撒加密、愷撒變換)是一種最簡(jiǎn)單且最廣為人知的加密技術(shù)。它是一種替換加密的技術(shù),明文中的所有字母都在字母表上向後(或向前)按照一個(gè)固定數(shù)目進(jìn)行偏移後被替換成密文。例如,當(dāng)偏移量是3的時(shí)候,所有的字母A將被替換成D,B變成E,以此類推。這個(gè)加密方法是以愷撒的名字命名的,當(dāng)年愷撒曾用此方法與其將軍們進(jìn)行聯(lián)系。
例如,當(dāng)偏移量是左移3的時(shí)候(解密時(shí)的密鑰就是3):
明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC
以上都是廢話啦,最近在教一個(gè)小朋友VBS,給她出了一道題,讓她實(shí)現(xiàn)凱撒密碼算法,不過(guò)貌似有點(diǎn)難了。Google了一下凱撒密碼,出來(lái)的基本都是C和Java的實(shí)現(xiàn),還是我自己寫(xiě)吧。
Function Caesar(str,offset)
Dim length,char,i
Caesar = ""
length = Len(str)
For i = 1 To length
char = Mid(str,i,1)
If char >= "A" And char <= "Z" Then
char = Asc("A") + (Asc(char) - Asc("A") + offset) Mod 26
Caesar = Caesar & Chr(char)
ElseIf char >= "a" And char <= "z" Then
char = Asc("a") + (Asc(char) - Asc("a") + offset) Mod 26
Caesar = Caesar & Chr(char)
Else
Caesar = Caesar & char
End If
Next
End Function
WScript.Echo Caesar("ABCDEFGHIJKLMNOPQRSTUVWXYZ",3)
WordPress的默認(rèn)主題真不好使,代碼竟然溢出了,將就著看吧,或者給我推薦一個(gè)好看點(diǎn)的主題也行。
原文:http://demon.tw/programming/vbs-caesar.html
例如,當(dāng)偏移量是左移3的時(shí)候(解密時(shí)的密鑰就是3):
復(fù)制代碼 代碼如下:
明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC
以上都是廢話啦,最近在教一個(gè)小朋友VBS,給她出了一道題,讓她實(shí)現(xiàn)凱撒密碼算法,不過(guò)貌似有點(diǎn)難了。Google了一下凱撒密碼,出來(lái)的基本都是C和Java的實(shí)現(xiàn),還是我自己寫(xiě)吧。
復(fù)制代碼 代碼如下:
Function Caesar(str,offset)
Dim length,char,i
Caesar = ""
length = Len(str)
For i = 1 To length
char = Mid(str,i,1)
If char >= "A" And char <= "Z" Then
char = Asc("A") + (Asc(char) - Asc("A") + offset) Mod 26
Caesar = Caesar & Chr(char)
ElseIf char >= "a" And char <= "z" Then
char = Asc("a") + (Asc(char) - Asc("a") + offset) Mod 26
Caesar = Caesar & Chr(char)
Else
Caesar = Caesar & char
End If
Next
End Function
WScript.Echo Caesar("ABCDEFGHIJKLMNOPQRSTUVWXYZ",3)
WordPress的默認(rèn)主題真不好使,代碼竟然溢出了,將就著看吧,或者給我推薦一個(gè)好看點(diǎn)的主題也行。
原文:http://demon.tw/programming/vbs-caesar.html
相關(guān)文章
Restart.vbs源代碼可以重啟遠(yuǎn)程電腦的vbs
Restart.vbs源代碼可以重啟遠(yuǎn)程電腦的vbs...2007-02-02
遠(yuǎn)程啟動(dòng)終端服務(wù)的windows腳本ROTS.vbs
遠(yuǎn)程啟動(dòng)終端服務(wù)的windows腳本ROTS.vbs...2007-02-02
可以修改腳本自身運(yùn)行次數(shù)的vbs(Self modifying script)
通過(guò)腳本修改腳本的內(nèi)容,這里以統(tǒng)計(jì)腳本運(yùn)行次數(shù)為例,想學(xué)習(xí)vbs的朋友可以參考下2013-08-08
使用 Iisftp.vbs 設(shè)置Active Directory 用戶隔離
可使用命令行腳本 iisftp.vbs(存儲(chǔ)在 systemroot\System32 中)查詢和設(shè)置用戶的文件傳輸協(xié)議 (FTP) 主目錄的 Active Directory 目錄服務(wù)屬性2014-07-07
VBS教程:VBscript語(yǔ)句-On Error 語(yǔ)句
VBS教程:VBscript語(yǔ)句-On Error 語(yǔ)句...2006-11-11
vbscript Split函數(shù)用法詳解(字符串轉(zhuǎn)數(shù)組函數(shù))
本文詳細(xì)介紹了vbscript中split函數(shù)的用法,有關(guān)split函數(shù)的一些實(shí)例,vbscript中split函數(shù)的語(yǔ)法介紹,有需要的朋友參考下2014-05-05

