1700416796
计算机是怎样跑起来的 10.2 错开字符编码的加密方式
1700416797
1700416798
有关加密的概念和术语先解释到这里,下面就通过运行程序来实际体验一下加密的过程吧。代码清单10.1中,列出了一段用于加密的示例程序。
1700416799
1700416800
代码清单10.1 用给字符编码加3的方法加密
1700416801
1700416802
plaintext=InputBox(“请输入明文”)
1700416803
1700416804
ciper=””
1700416805
1700416806
For i=1 To Len(plaintext)
1700416807
1700416808
letter=Mid(plaintext,i,1)
1700416809
1700416810
cipher=cipher&Chr(Asc(letter)+3)
1700416811
1700416812
Next
1700416813
1700416814
MsgBox cipher
1700416815
1700416816
在这个程序中,使用了如下加密方法:将文本数据中每个字符所对应的字符编码一律向后错3个,即给原字符编码的值加上3。把这段程序以.vbs为扩展名保存,双击运行这段程序。试着在最初弹出的窗口中输入要加密的文本数据(明文),例如输入NIKKEI,单击OK按钮,在接下来弹出的窗口中会显示出加密后的文本数据(密文)。因为每个字符的编码都向后错了三个,所以得到的是QLNNHL。这样的话,即便是被人偷偷地看到了,也无法理解这个字符串的意义(如图10.1所示)
1700416817
1700416818
图10.1 代码清单10.1的执行结果
1700416819
1700416820
1700416821
1700416822
1700416823
因为加密时使用的是将字符编码向后错三个的方法,所以只要再将字符编码向前挪三个就可以实现解密。代码清单10.2中就是解密程序
1700416824
1700416825
代码清单10.2 用把字符编码减3的方法解密
1700416826
1700416827
cipher=InputBox(“请输入密文”)
1700416828
1700416829
plaintext=””
1700416830
1700416831
For i=1 To Len(cipher)
1700416832
1700416833
letter=Mid(cipher,i,1)
1700416834
1700416835
plaintext=plaintext&Chr(Asc(letter)-3)
1700416836
1700416837
Next
1700416838
1700416839
MsgBox plaintext
1700416840
1700416841
与进行加密的程序相反,解密使用的是从字符编码中减去3的方法。在最初弹出的窗口中输入密文(就输入刚才得到的QLNNHL),然后单击OK按钮,在接下来弹出的窗口中就会显示解密后的明文NIKKEI(如图10.2所示),怎么样?看起来挺酷的吧!
1700416842
1700416843
图10.2 代码清单10.2的执行结果
1700416844
[
上一页 ]
[ :1.700416795e+09 ]
[
下一页 ]