编码和加密有什么区别?
编码是使用公开可用的方案将数据转换为另一种格式,以便可以轻松地进行反转。
加密将数据转换为另一种格式,以使只有特定个人才能反转该转换。
总结:
编码用于维护数据可用性,并使用公开可用的方案。
加密用于维护数据机密性,因此反转转换的能力(密钥)仅限于特定人员。
更多细节请查看来源
编码:
目的:编码的目的是将数据转换为可以被不同类型系统正确(和安全)消费的形式。
用途:维护数据可用性,即确保它能够被正确消费。
数据检索机制:没有密钥,只要我们知道使用了什么编码算法,就可以轻松地进行反向操作。
所使用的算法:ASCII、Unicode、URL 编码、Base64。
示例:通过电子邮件发送二进制数据,或在网页上查看特殊字符。
加密:
目的:加密的目的是将数据变换以保持它对他人的保密。
用途:维护数据的机密性,即确保数据只能被预期的接收者消费。
数据检索机制:如果我们知道加密密钥和算法,就可以获取原始数据。
所使用的算法:AES、Blowfish、RSA。
示例:向某人发送只有他们才能阅读的秘密信件,或在互联网上安全地发送密码。
参考 URL:http://danielmiessler.com/study/encoding_vs_encryption/
编码是将数据转换为可以在通信渠道上传输或在存储介质上存储而不会出现危险的过程。例如,计算机硬件无法处理文本,它只能处理字节,因此文本编码是一种描述如何将文本转换为字节的方法。同样地,HTTP不允许所有字符都安全传输,因此可能需要使用 base64 对数据进行编码(该编码仅使用字母、数字和两个安全字符)。
在编码或解码时,重点是每个人都拥有相同的算法,而且该算法通常是有良好记录、广泛分布并且相当易于实现的。任何人最终都能够解码已编码数据。
另一方面,加密应用于一段数据的转换,只有具有特定(秘密)知识才能反向解密。其强调的是使除预期收件人以外的人难以阅读原始数据。保持秘密的编码算法是一种加密形式,但相当脆弱(设计任何加密都需要技巧和时间,并且根据定义,您不能让其他人为您创建这样的编码算法——否则您就必须杀了他们)。相反,最常用的加密方法使用秘密密钥:该算法是众所周知的,但加密和解密过程需要具有相同密钥,并且该密钥随后保持秘密。只有使用相应密钥才能解密加密数据。
编码是将一系列字符放入特殊格式以进行传输或存储的过程。
加密是将数据翻译成秘密代码的过程。加密是实现数据安全的最有效方法。要阅读加密文件,必须拥有能够解密它的秘密密钥或密码。未加密的数据称为明文;加密数据称为密文。
编码用于维护数据的可用性,可以通过使用相同的算法解码内容来恢复,即不需要使用密钥。
加密用于维护数据的机密性,需要使用保密的密钥才能返回明文。
此外,在安全领域中有两个主要术语引起了混淆哈希和混淆
哈希用于通过检测哈希输出的明显更改来验证内容的完整性。
混淆用于防止人们理解某些东西,经常与计算机代码一起使用,以帮助防止成功的逆向工程和/或窃取产品的功能。
阅读更多 @ Danielmiessler文章
编码 -》 例如数据为16
那么编码为10000,意味着它是二进制格式、ASCII或UNICODE等,可以轻松地被任何系统读取并易于理解其真实含义。
加密 -》 例如数据为16 然后加密为3t57或可能是其他的,这取决于使用哪种加密算法。 只有拥有解密密钥的人才能够理解其真实含义,虽然可以轻松地被任何系统读取。
这两者有所不同。编码是指在将文本转换为特定的计算机编码技术时使用的编码方式,而加密则是指将数据隐藏在特定的密钥或文本之间。
编码是将给定的字符集转换为相关的接受格式的过程,以此问题的URL为例:
我们看到的是-->
hhttps://dev59.com/questions/9W445IYBdhLWcg3w3N6z
在传输过程中,它将被转换为-->
https%3A%2F%2Fstackoverflow.com%2Fquestions%2F4657416%2Fdifference-between-encoding-and-encryption
^ 这是使用ASCII字符集进行URL编码的示例,其中:
: = %3A
/ = %2F
编码的反向操作是解码,以便以给定的ASCII标准返回原始形式。
加密是将明文转换为密文的过程,只有授权方才能解密。
附言:编码(以某种形式编码)是一种加密形式。:)