编码、摘要、加密的区别 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
kechx
V2EX    程序员

编码、摘要、加密的区别

  •  
  •   kechx 2017-02-20 10:40:23 +08:00 6107 次点击
    这是一个创建于 3207 天前的主题,其中的信息可能已经有所发展或是发生改变。

    三种方式都是通过某种公开的算法将原始信息进行编码 /加密

    1. 编码:将数据转化成某种固定的格式的编码信息,方便不同系统间的传输,通过解码编码信息可以得到原始信息

    2. 摘要(哈希):验证信息的唯一性,不能通过哈希值还原原始信息

    3. 加密:加密传输信息,保证信息的安全性,通过密钥和密文可以还原原始信息

    编码、摘要、加密的区别

    12 条回复    2017-02-20 18:01:25 +08:00
    jybox
        1
    jybox  
       2017-02-20 10:46:32 +08:00
    关于散列的进一步讨论可以看我的这篇文章: https://jysperm.me/2014/02/1476/ (三年前写的,可能有的地方不恰当,但刚刚我又看了一遍,大体没问题)。

    其实我觉得「散列」这个意译要比「哈希」好很多,楼主的文章没有提到散列这个称呼。
    lhbc
        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
    johnj
        3
    johnj  
       2017-02-20 10:58:01 +08:00
    @jybox 哈 你的网名
    crab
        4
    crab  
       2017-02-20 11:00:25 +08:00   1
    摘要(哈希):验证信息的唯一性。应该是完整性吧。不是有 MD5 这类 不一样文件一样的 MD5 。
    msg7086
        5
    msg7086  
       2017-02-20 11:06:13 +08:00
    验证信息的正确性才对吧。
    gimp
        6
    gimp  
       2017-02-20 11:11:37 +08:00   1
    验证信息的唯一性 -> 验证信息的完整性
    kechx
        7
    kechx  
    OP
       2017-02-20 11:13:36 +08:00
    @jybox 看了,介绍的更加深入。
    实际上,我看到关于密码存储的最佳实践是不建议使用散列算法,即便是加盐或者多次散列。原因我记得是这么说的,好的加密算法就是即便你的源码泄漏,攻击者这不能窃取到密码。
    @crab 谢谢,马上更改
    kechx
        8
    kechx  
    OP
       2017-02-20 11:17:58 +08:00
    @msg7086 谢谢,我查了下 wiki ,应该是完整性
    @gimp 谢谢,已经改了
    eirk2004
        9
    eirk2004  
       2017-02-20 11:41:55 +08:00
    开个玩笑,以方便面为例:
    编码:面饼可以通过桶装、袋装的形式运输,撕开包装(解码)即可得到面饼;
    加密:面条被脱水后形成面饼,每个脱水面饼都会有细微的不同,加热水(解密)即可得到真正的面条
    摘要:方便面的包装内有一张武将卡(假设不重复)
    kongse
        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 则越麻烦(对于不知道密钥的人)越好。这种麻烦程度就是加密强度。
    psyche
        11
    psyche  
       2017-02-20 15:30:18 +08:00   2
    编码有无损编码和有损编码,有损编码(比如很多多媒体编码)不一定能还原出原始信息
    kongse
        12
    kongse  
       2017-02-20 18:01:25 +08:00
    @psyche 所以是不严格的说编码是一对一的,详细说的话,源内容经过有损编码,再反变换到 A 空间后,总还是保留了比较多的信息。用几何语言描述,就是反变换的内容在 A 空间中,距离原内容位置较近。编码过程中的损失就是噪音,信噪比衡量反变换回原空间后与源距离
    的大小。信号传输也是一种相空间中的有损变换,抽象的说是一种东西。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5149 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 09:23 PVG 17:23 LAX 01:23 JFK 04:23
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86