三种方式都是通过某种公开的算法将原始信息进行编码 /加密
编码:将数据转化成某种固定的格式的编码信息,方便不同系统间的传输,通过解码编码信息可以得到原始信息
摘要(哈希):验证信息的唯一性,不能通过哈希值还原原始信息
加密:加密传输信息,保证信息的安全性,通过密钥和密文可以还原原始信息
1
jybox 2017-02-20 10:46:32 +08:00
关于散列的进一步讨论可以看我的这篇文章: https://jysperm.me/2014/02/1476/ (三年前写的,可能有的地方不恰当,但刚刚我又看了一遍,大体没问题)。
其实我觉得「散列」这个意译要比「哈希」好很多,楼主的文章没有提到散列这个称呼。 |
2
lhbc 2017-02-20 10:48:30 +08:00 via iPhone 1
1. base64, zip, 7z, gzip, rar, flac, ape
2. md5, sha, crc 3. aes, pgp |
4
crab 2017-02-20 11:00:25 +08:00 1
摘要(哈希):验证信息的唯一性。应该是完整性吧。不是有 MD5 这类 不一样文件一样的 MD5 。
|
5
msg7086 2017-02-20 11:06:13 +08:00
验证信息的正确性才对吧。
|
6
gimp 2017-02-20 11:11:37 +08:00 1
验证信息的唯一性 -> 验证信息的完整性
|
7
RihcardLu OP |
9
eirk2004 2017-02-20 11:41:55 +08:00
开个玩笑,以方便面为例:
编码:面饼可以通过桶装、袋装的形式运输,撕开包装(解码)即可得到面饼; 加密:面条被脱水后形成面饼,每个脱水面饼都会有细微的不同,加热水(解密)即可得到真正的面条 摘要:方便面的包装内有一张武将卡(假设不重复) |
10
kongse 2017-02-20 11:46:13 +08:00 2
设定一个相空间 A 和相空间 B
最高抽象层次上,编码,哈希和加密都是内容从 A 到 B 的一个变换。 第二抽象层次上, 编码是内容从 A 到 B 的一对一变换。(不严格的说) 哈希是内容从 A 到 B 的多对一变换。 加密是内容从 A 到 B 的一对一变换。 第三抽象层次上, 编码和加密的不同在于,编码从 B 到 A 的变换是容易的,或日常应用直接应用 B 空间的内容更容易(比如视频编码,一般不需要变回原空间)。加密从 B 到 A 则越麻烦(对于不知道密钥的人)越好。这种麻烦程度就是加密强度。 |
11
psyche 2017-02-20 15:30:18 +08:00 2
编码有无损编码和有损编码,有损编码(比如很多多媒体编码)不一定能还原出原始信息
|