• haslib 模块


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

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

    三、常用的两种加密算法

      MD5算法  (不可逆)

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

      效率快,相对简单。

      sha1 算法   (不可逆)

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

      算法相对复杂。

      

      撞库

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

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

      加盐的MD5算法

      

      动态加盐

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

      

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

      

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

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

  • 相关阅读:
    ActiveSync合作关系对话框的配置
    WINCE对象存储区(object store)
    Wince 隐藏TASKBAR的方法
    Wince输入法换肤换语言机制
    poj 3080 Blue Jeans 解题报告
    codeforces A. Vasily the Bear and Triangle 解题报告
    hdu 1050 Moving Tables 解题报告
    hdu 1113 Word Amalgamation 解题报告
    codeforces A. IQ Test 解题报告
    poj 1007 DNA Sorting 解题报告
  • 原文地址:https://www.cnblogs.com/wf123/p/9456898.html
Copyright © 2020-2023  润新知