加密(Encrypt)
加密的概念:假设有一个参数k和一种变换方式E。原始信息 m 通过变换 E ,得到一个新的字符串c (公式为 c = E(m))。那么我们就称原始信息 m 为明文,新字符串 c 为密文。将明文转化为密文的过程叫做加密。E 这种变换方式叫做加密算法,而参数 k 叫做秘钥。在上述例子中,只要我们更换了秘钥 k ,就能得到完全不同的密文 c 。
既然就加密,就有相应的解密过程。我们将密文c恢复成明文m的过程成为解密过程。
公钥和私钥的概念
甲乙两人通信,甲将他的公钥公布给所有人(公钥的意思就是任何人都知道甲的公钥),因此,但凡有人想和甲通信,都可以使用甲的公钥将要传送的信息(明文)加密成密文发送给甲。但是,只有甲自己知道私钥(这个私钥能解开公钥加密的文件),也就是说只有甲能把密文还原为明文。除甲以外其他人即使截获到密文也不可能知道密文所传递的信息。
对称加密
发送方使用秘钥A对信息加密,接收方也使用秘钥A解密。
非对称加密
发送方使用接收方的公钥加密,接收方使用自己的私钥解密。
哈希
主要说一下哈希和加密的不同之处,哈希是将原始字符串转为相同长度的、不可逆的字符串(或叫做消息摘要),而加密(Encrypt)
是将原始字符串转换成具有不同长度的、可逆的密文。
他们的区别主要如下:
1、哈希算法生成的字符串与原字符串长度相同,而加密算法生成的文本长度与原始文本的长度不一定相同。
2、哈希算法是不可逆的,而加密算法是可逆的。