数据加密
1.前言
对于公司内部的网络而言,由于只是将员工的电脑彼此相连,可能就不太需要对其间传输的数据进行加密。
但是在互联网中,会面临很多需要对数据进行加密处理的情况。比如,在网店购物时用户输入的密码,就是应该被加密传输的代表性数据。因此像淘宝这种网店页面的URL,通常都是以https://开头,表示数据正在使用加密的方式进行传输。
2.关于加密的概念
- 明文: 未加密的文本数据
- 密文: 加密后的文本数据,会变成人类看不懂,没有意义的字符序列
3.加密的方式
以文本数据为例,虽然存在各种各样的加密技术,但是其中的基本手段无外乎是: 将构成明文的每个字符的编码分别变换成其他的数值。通过反转这种变换过程,加密后的文本数据就可以还原。将密文还原成明文的过程称为“解密”。
1)方法一
将文本数据中每个字符所对应的字符编码一律向后错3个,即可形成密文;向前挪3个即可解密。比如hello加密后就变成了khoor。
因此通常把像3这样用于加密和解密的数字称为“密钥”。如果事先就把3这个密钥作为只有数据的发送者和接受者才知道的秘密,那么不知道这个密钥的人,就无法对加密过的数据进行解密。
2)方法二
XOR运算的有趣之处在于,用XOR运算加密后的密文,可以通过相同的XOR运算解密。也就是说,一个程序既可用于加密又可用于解密,很方便。如图: