编码、散列(哈希)、加密的区别
编码
编码本质上是信息形式的转化。编码的目的不是为了加密信息,是将消息转化成统一的格式,方便在不同系统之中传输。例如最常见的ASCII字符编码。由于网络上只能传输二进制数据,任何数据如果想要经由网络传输,就必须先转化成二进制,ASCII 提供了一个将A、B、C等字母转化为二进制的规则。
信息—>编码—>二进制—>解码—>信息
常见编码如:ASCII, Unicode, URL Encoding, Base64等
Unicode编码介绍参考
1 | https: //blog.csdn.net/hezh1994/article/details/78899683 |
摘要(哈希)
摘要的目的是为了校验信息的完整性,保证信息在传输过程中不被篡改。常见在网上下载压缩包,你担心在过程中被修改,可以对比md5值,如果一致就没有被修改。
加密
加密是为了保证数据安全传输,使得其他人不能获取的具体信息内容。例如你想给某人发送一封密信,或通过互联网给人发送密码,这些对隐秘性要求比较强的事情,就需要对信息进行加密。
加密的专注点不在可用性上,这点和编码有明显的区别。加密是可逆的,明文 + 秘钥 = 加密信息
加密又分为对称加密和非对称加密,区别在于在加密和解密信息时秘钥是不是同一个。
对称加密:DES, AES
非对称加密: RSA
本章内容来自:
1 | https: //blog.csdn.net/TheGoldenEra/article/details/64546118 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)