zoukankan      html  css  js  c++  java
  • haslib 模块

    一、能够把一个字符串数据类型的变量,转换成一个定长的,密文的字符串。且每一个字符串中的字符都是一个十六进制的数子。

    二、对于相同的字符串,无论字符串多长,无论在什么环境下,任何语言中,使用相同的算法得出的结果都是一样的。只要不是相同的字符串,结果就是不同的。

    三、常用的两种加密算法

      MD5算法  (不可逆)

      得到的结果是一个32位的字符串,且每个字符串都是一个十六进制的数字。

      效率快,相对简单。

      sha1 算法   (不可逆)

      得到一个40位的字符串,且每个字符串是一个是一个十六进制的数字。

      算法相对复杂。

      

      撞库

      由于MD5,sha1算法不可逆,所以有一批‘有志之士’就将好多的数字字母的组合计算出的密文值,存在一个库中。这样当截获了密文值就可以去库中匹配,如果有相同的,就查他对应的原字符串。

      因此出现了撞库,同时使得这个加密算法相对出现了些风险。

      加盐的MD5算法

      

      动态加盐

      对于一些用户名和密码,因为用户名是唯一的,所以将用户名作为盐,在进行加密计算,这样得出的结果的安全性将会更高。

      

      可以用于文件的一致性校验。

      

      如果文件过大,还可以按字节读取。

      完整的读完一个文件计算的MD5值和分段读完最后的MD5值是一样的。

  • 相关阅读:
    第08组 Alpha冲刺(1/4)
    第08组 团队Git现场编程实战
    第二次结对编程作业
    团队项目-需求分析报告
    团队项目-选题报告
    第一次结对编程作业
    第一次个人编程作业
    第一次实践作业
    互联网协议学习笔记
    【选修建模的小练习】长方形椅子的稳定性探究
  • 原文地址:https://www.cnblogs.com/wf123/p/9456898.html
Copyright © 2011-2022 走看看