最新公告
  • 欢迎您光临悠哉网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 你怕是对MD5算法有误解

    "MD5加密"纯属口嗨,MD5不是加密算法,是摘要算法。

    今天小码甲带大家梳理加密算法、摘要算法的定义和场景:

    伸手党先看答案:

    加密算法的目的,在于使别人无法成功查看加密的数据,并且在需要的时候还可以对数据进行解密来重新查看数据。

    而MD5算法是一种哈希算法,哈希算法的设计目的本身就决定了,它在大多数情况下都是不可逆的,即你通过哈希算法得到的数据,无法经过任何算法还原回去。所以既然不能将数据还原,也就不能称之为解密;既然不能解密,那么哈希的过程自然也就不能称作是[加密]了。

    加密算法

    加密:是以某种特殊的算法改变原有的信息,使得未授权的用户即使获得已加密的信息,但因不知解密的方法,仍然无法了解信息的内容

    解密:加密的逆过程为解密,即将该加密信息转化为其原来信息的过程。

    加密算法分为对称加密和非对称加密,其中对称加密算法的加解密密钥相同,非对称加解密的密钥不同。

    HTTPS就同时用到非对称加密和对称加密,在连接建立阶段,使用非对称加解密(保护密钥不被查看), 在通信阶段使用对称密钥加解密数据。

    摘要算法

    摘要算法,又称哈希算法、散列算法。通过一个函数,将任意长度的内容转换为一个固定长度的数据串。

    摘要算法之所以能指出数据是否被篡改,就是因为摘要函数是一个单向函数,计算很容易,但通过摘要(digest) 反推data却非常困难,而且,对于原始数据做一个bit的修改,都会导致计算出的摘要完全不同。

    使用迅雷下载某片的时候,下载站会顺带给你一个MD5校验码;

    你找一个MD5校验工具,对下载下来的文件执行MD5算法,将得到的哈希值与下载站附带的MD5值对比,如果值是相同的,说明从该网站下载的文件没有损坏。

    HMAC

    延伸聊一个结合了密钥和哈希功能的请求认证方案:

    HMAC ( hash-based message authenticated code)

    很多第三方平台都采用这种授权认证方案,你回想一下,api平台是不是经常给你一对AppID Serect Key

    1.Client & Server 都知晓一个私钥serect key

    2.客户端每次请求时,会针对(请求数据+ secret key)生成一个hash值

    HMAC = hashFunc(secret key + message)

    3.客户端将哈希值做为请求的一部分,一起发送

    4.当服务端收到请求, 对( 收到的请求+ 查到的Serectkey\')生成哈希,将计算的哈希值与请求中附带的原哈希值对比,如果相同,则认定请求来自受信Client,且请求未被篡改。

    为什么会有这样的效果?

    首先:Client 和Server的哈希值相同,根据哈希算法的设计初衷,说明请求过程未被篡改;

    另一方面也反推 Client 和Server使用的是同一个Serect Key , 而Serect Key是私密信息,故此处的Client发送请求不可抵赖。

    还可以考虑在客户端生成哈希时加入timestamp时间戳(请求也要附带这个时间戳),服务端收到后,先对比服务器时间戳与请求时间戳,限制15s内为有效请求,服务端再对(请求消息+ serect key+ timestamp)生成哈希,对比哈希,避免重放攻击。

    总结

    本文给出的示例:HTTPS、迅雷MD5校验,足够帮助你了解加密算法和摘要算法的设计目的。

    ?加密算法的目的是:防止信息被偷看?摘要算法的目的是:防止信息被篡改

    以后使用时候也能有的放矢,面试时也不会闹出笑话。

    最后给出的WebAPI授权方案HMAC,算是密钥+哈希算法结合的一个应用场景, 具备快速、自签名的特点。

    【编辑推荐】

    1. 鸿蒙官方战略合作共建——HarmonyOS技术社区
    2. Windows 网络编程
    3. 网络安全工程师教你:Kali Linux新渗透测试基础入门与进阶实战技巧
    4. K8S集群内Pod如何与本地网络打通实现debug
    5. 国内6G网络将于2030年实现商用 助力实现“万物智联”
    6. 发牌两年:5G应用如何开启新篇章?
    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,默认解压密码为"www.yoozai.net",如遇到无法解压的请联系管理员!
    悠哉网 » 你怕是对MD5算法有误解

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    悠哉网 WWW.YOOZAI.NET
    悠哉网,用户消费首选的网站,喜欢你就悠哉一下。

    发表评论

    • 1072会员总数(位)
    • 40643资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 487稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情