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

  • 相关阅读:
    C#设计模式-单例模式
    MVC图片上传并显示缩略图
    asp.net MVC发布iis无法加载css,js和图片
    Silverlight中获取控件中子控件
    Lambda加自定义比较器实现两个列表的合并
    MVC文件上传
    pt-osc测试
    MySQL DDL方案测试及选型.
    gh-ost测试
    gh-ost原理
  • 原文地址:https://www.cnblogs.com/wade-luffy/p/7718040.html
Copyright © 2011-2022 走看看