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

  • 相关阅读:
    查找二叉树(BST)
    利用堆计算中位数
    java文件的上传与下载通用版
    input框checkBox全选单选js操作,后台取值
    ArrayList源码简单解析
    echarts柱状图的学习01
    Oracle中的存储过程,存储函数
    简单的Oracle分页公式
    入门级的SSM架构搭建解析
    mybatis动态Sql详解
  • 原文地址:https://www.cnblogs.com/wade-luffy/p/7718040.html
Copyright © 2011-2022 走看看