首页 > 编程 > VBScript > 正文

用VBS实现的凯撒密码算法

2020-06-26 18:33:43
字体:
来源:转载
供稿:网友
在密码学中,恺撒密码(或称恺撒加密、恺撒变换)是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向後(或向前)按照一个固定数目进行偏移後被替换成密文
 
在密码学中,恺撒密码(或称恺撒加密、恺撒变换)是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向後(或向前)按照一个固定数目进行偏移後被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。 

例如,当偏移量是左移3的时候(解密时的密钥就是3): 

复制代码代码如下:

明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ 
密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC 


以上都是废话啦,最近在教一个小朋友VBS,给她出了一道题,让她实现凯撒密码算法,不过貌似有点难了。Google了一下凯撒密码,出来的基本都是C和Java的实现,还是我自己写吧。 

复制代码代码如下:

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的默认主题真不好使,代码竟然溢出了,将就着看吧,或者给我推荐一个好看点的主题也行。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表