编码和encryption之间的区别

编码和encryption有什么区别?

编码使用公开可用的scheme将数据转换成另一种格式,从而可以容易地颠倒过来。

encryption将数据转换为另一种格式,只有特定的个人可以转换转换。

总结 –

编码是为了保持数据的可用性,并使用公开可用的scheme。

encryption是为了保持数据的机密性,因此扭转转换(键)的能力仅限于某些人。

更多细节在SOURCE

编码是对数据进行转换的过程,使得数据可以在通信信道上无危险地传输,或者在存储介质上无危险地存储。 例如,计算机硬件不处理文本,只处理字节,所以文本编码是文本如何转换为字节的描述。 同样,HTTP不允许所有字符安全传输,因此可能需要使用base64编码数据(仅使用字母,数字和两个安全字符)。

编码或解码时,重点放在每个人都有相同的algorithm,该algorithm通常是有据可查的,分布广泛和相当容易实现。 任何人最终都能够解码编码的数据

另一方面,encryption对一部分数据进行了转换,只能通过对如何解密的特定(和秘密的)知识来逆转。 重点在于让除了预期收件人之外的任何人都难以阅读原始数据。 一个保密的编码algorithm是一种encryptionforms,但却非常脆弱(需要技巧和时间来devise任何types的encryption,根据定义,你不能让其他人为你创build这样的编码algorithm – 否则必须杀死他们)。 相反,最常用的encryption方法使用密钥:algorithm是众所周知的,但是encryption和解密过程要求两个操作具有相同的密钥,并且密钥随后保密。 只有使用相应的密钥才能解密encryption的数据

编码方式:

  1. 目的:编码的目的是转换数据,使其可以被不同types的系统正确(安全地)使用。

  2. 用于:保持数据可用性,即确保能够正确使用。

  3. 数据检索机制:没有密钥,只要我们知道在编码中使用了什么algorithm,就可以轻松地进行反转。

  4. 使用的algorithm:ASCII,Unicode,URL编码,Base64

  5. 示例:二进制数据通过电子邮件发送,或查看网页上的特殊字符。

encryption:

  1. 目的:encryption的目的是转换数据以保密。

  2. 用于:保持数据机密性,即确保数据不能被预期的接收者以外的任何人使用。

  3. 数据检索机制:如果我们知道使用的密钥和encryptionalgorithm,就可以获得原始数据。

  4. 使用的algorithm:AES,Blowfish,RSA

  5. 示例:向某人发送只有他们应该能够阅读的秘密信件,或通过互联网安全地发送密码。

参考url: http //danielmiessler.com/study/encoding_vs_encryption/

编码是为了传输或存储目的而将一系列字符转换成特殊格式的过程

encryption是将数据转换成密码的过程。 encryption是实现数据安全的最有效的方法。 要读取encryption文件,您必须有权访问可以解密的密钥或密码。 未encryption的数据称为纯文本; encryption的数据被称为密文

将编码看作是在不同系统之间存储或传输数据的一种方式。 例如,如果要将文本存储在硬盘驱动器上,则必须find将字符转换为位的方法。 或者,如果您拥有的只是闪光灯,则可能需要使用莫尔斯对文本进行编码。 如果您知道如何存储,结果总是“可读”的。

encryption意味着你想使你的数据不可读,通过使用algorithm进行encryption。 例如,凯撒通过用另一个字母代替每个字母来做到这一点。 这里的结果是不可读的,除非你知道被encryption的秘密“密钥”。

我会说,这两个操作转换信息从一种forms到另一种,不同之处在于:

  • 编码意味着将信息从一种forms转换成另一种forms,在大多数情况下,它很容易逆转
  • encryption意味着原始信息被掩盖并且涉及必须提供给encryption/解密处理进行转换的encryption密钥。

所以,如果涉及(对称或不对称)密钥(又称“秘密”),则是encryption,否则就是编码。

这些有点不同。 当我们想要在特定的计算机编码技术中转换文本时使用的编码,在encryption中我们隐藏特定的键或文本之间的数据。

编码方式:

编码的目的是转换数据,以便可以通过不同types的系统正确(安全)地使用数据,例如通过电子邮件发送二进制数据,或者在网页上查看特殊字符。 我们的目标不是保密信息,而是确保信息的正确使用。 编码使用公开可用的scheme将数据转换成另一种格式,从而可以容易地颠倒。 它不需要密钥,因为解码所需的唯一东西就是用来对其进行编码的algorithm。

例如: ASCII,Unicode,URL编码,Base64

encryption:

encryption的目的在于转换数据,以保证数据不被泄露,比如向某人发送一封只能读取的秘密信件,或通过互联网安全地发送密码。 我们的目标不是集中于可用性,而是确保数据不会被预期收件人以外的任何人所使用。

encryption将数据转换为另一种格式,只有特定的个人可以转换转换。 它使用一个保密的密钥,连同明文和algorithm,以执行encryption操作。 因此,密文,algorithm和密钥都需要返回到明文。

例如: AES,Blowfish,RSA

编码是为了保持数据的可用性,并且可以通过采用编码内容的相同algorithm来逆转,即不使用密钥。

encryption是为了保持数据的机密性,并要求使用密钥(保密)才能返回明文。

另外还有两个主要术语在安全散列和混淆的世界中引起混淆

散列用于validation内容的完整性,通过对散列输出的明显改变检测其所有修改。

模糊处理用于防止人们理解某些事物的含义,并且经常使用计算机代码来帮助防止成功的逆向工程和/或产品function的被盗。

阅读更多@ Danielmiessler的文章