1.编码 的目的是转换数据,以便可以由不同类型的系统正确(和安全)地使用它,例如通过电子邮件发送二进制数据,或者在网页上查看特殊字符。目标不是保密信息,而是确保能够正确消费。
编码使用公开可用的方案将数据转换为另一种格式,以便可以轻松地将其反转。它不需要密钥,因为解码它所需的唯一东西是用于编码它的算法
2.加密的目的是转换数据以使其对其他人保密,例如向某人发送只有他们应该能够阅读的秘密信件,或者通过互联网安全地发送密码。而不是关注可用性,目标是确保除预期接收者之外的任何人都不能使用数据。
加密将数据转换为另一种格式,只有特定的个人才能逆转转换。它使用保密的密钥,与明文和算法一起使用,以便执行加密操作。因此,密文,算法和密钥都需要返回明文。
3.哈希
散列用于确保完整性,即使其变得如此,以便在某些内容发生变化时您可以知道它已被更改。从技术上讲,散列采用任意输入并生成具有以下属性的固定长度字符串:
散列与身份验证结合使用,以生成有关未对给定消息进行修改的强有力证据。这是通过获取给定输入,对其进行散列,然后使用发送方的私钥对散列进行签名来实现的。
当收件人打开邮件时,他们可以使用发件人的公钥验证哈希的签名,然后自己对邮件进行哈希处理,并将其与发件人签名的哈希值进行比较。如果匹配,则是由正确的人发送的未修改的消息。
原文:https://www.cnblogs.com/zhouyideboke/p/10512774.html