zoukankan      html  css  js  c++  java
  • 散列算法-SHA

    一种生成信息摘要的算法。主要用于数据一致性和完整性的校验

    SHA算法分很多版本,最大的分类是SHA-1和SHA-2。SHA-2包括很多子版本,SHA-224,SHA-256,SHA-384,SHA-512。

    SHA-1(可破解 http://www.cnbeta.com/articles/tech/587564.htm)

    SHA-1算法可以从明文生成160bit(40个字符)的信息摘要,示例如下

    给定明文:      abcd

    SHA-1摘要:   81FE8BFE87576C3ECB22426F8E57847382917ACF

    SHA-1 与 MD5的主要区别是什么呢?

    1.摘要长度不同

    MD5的摘要的长度128bit,SHA-1摘要长度160bit。多出32bit意味着什么呢?不同明文的碰撞几率降低了2^32 = 324294967296倍。

    2.性能略有差别

    SHA-1生成摘要的性能比MD5略低。

    SHA-2

    SHA-2是一系列SHA算法变体的总称,其中包含如下子版本:

    SHA-256:可以生成长度256bit的信息摘要。

    SHA-224:SHA-256的“阉割版”,可以生成长度224bit的信息摘要。

    SHA-512:可以生成长度512bit的信息摘要。

    SHA-384:SHA-512的“阉割版”,可以生成长度384bit的信息摘要。

    显然,信息摘要越长,发生碰撞的几率就越低,破解的难度就越大。但同时,耗费的性能和占用的空间也就越高。

    如果想要追求安全性,也可以考虑把多种摘要算法结合使用。

    明文:        abcd

    MD5摘要:e2fc714c4727ee9395f324cd2e7f331f

    SHA-256摘要:88d4266fd4e6338d13b845fcf289579d209c897823b9217da3e161936f031589

    合成摘要:e2fc714c4727ee93209c897823b9217da3e161936f031589

  • 相关阅读:
    系统手动激活
    scroll-into-view 简单demo
    css3 box-shadow 单边阴影
    js前端常用的方法
    css 箭头
    当前页面返回前一个页面时,执行前一个页面的方法
    小程序自定义组件
    vuejs2-生命周期
    Vuejs2-mock数据
    vuejs2+axios设置
  • 原文地址:https://www.cnblogs.com/wade-luffy/p/7718040.html
Copyright © 2011-2022 走看看