单项散列函数

1.单项散列函数的特点
          1.加密后密文长度是定长的
          2.如果明文不一样,那么散列后的结果不一定一样。
          3.如果明文一样,加密后的密文一定一样(对相同数据进行加密,加密后的密文一样)。
          4.所有的加密算法是公开的
          5.可以逆推反算。
2.经典加密算法
         1.MD5加密
         2.SHA1
         3.SHA512
3.加密算法说明
          1.对字符串进行MD5加密可以得到一个32个字符的密文。(不论这个字符串有多长,都可以散列获取一个32个字符的密文)
          2.加密之后不能根据密文你退出明文。
          3.MD5已经被破解(破解方式:暴力破解|碰撞破解)

        扩展1:暴力破解和碰撞破解的方式?
      暴力破解:说白了就是一个一个的试,就是事先通过程序将密码和加密后的字符串写到数据库中,破解的时候进行反查询就可以了。此种方法在数据库中存储空间比较大。
      碰撞破解:如果内容不同的明文,通过散列算法得出的结果(密码学称为信息摘要)相同,就称为发生了“碰撞”。散列算法的用途不是对明文加密,让别人看不懂,而是通过对信息摘要的对比,判断原文是否被篡改。所以说,对摘要算法来说,它只要能找到碰撞就足以让他失效,并不需要找到原文。它用户密码文件,然后随便生成一个碰撞的原文(不一定要跟原密码相同),就可以用这个登录了。

你可能感兴趣的:(单项散列函数)