1700416787
1700416788
数据一旦以明文的方式在网络中传输,就会有被窃取滥用的危险,因此要对明文进行加密,将它转换成“密文”。当然密文也仅仅是一串数字,但如果把密文显示在屏幕上,那么在人类看来显示的也只不过是读不懂、没有意义的字符序列罢了
1700416789
1700416790
虽然存在各种各样的加密技术,但是其中基本手段无外乎还是字符编码的变换,将构成明文的每个字符的编码分别变换成其他的数值。通过反转这种变换过程,加密后的文本数据就可以还原。通常把密文还原成明文的过程(即解读密码的过程)称为“解密”
1700416791
1700416792
1700416793
1700416794
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
[
上一页 ]
[ :1.700416787e+09 ]
[
下一页 ]