• collision weaknesses


    15.1. hashlib — Secure hashes and message digests — Python 3.5.6 documentation https://docs.python.org/3.5/library/hashlib.html

    import hashlib
    
    
    def hashlib_str(str, type='sha224'):
        if type == 'sha224':
            return hashlib.sha224(str).hexdigest()
        elif type == 'sha256':
            return hashlib.sha224(str).hexdigest()
        elif type == 'sha384':
            return hashlib.sha384(str).hexdigest()
        elif type == 'sha512':
            return hashlib.sha512(str).hexdigest()
        elif type == 'md5':
            return hashlib.md5().hexdigest()
        elif type == 'sha1':
            return hashlib.sha1().hexdigest()
    
    
    l = ['剑网三 唐门的 武器材料提示我用光了 很多技能不能用 找了很久不知道在什么地方买', '剑网三方买',
         '剑网三 唐门的 武器材料提示我用光了 很多技能不能用 找了很久不知道在什么地方买剑网三 唐门的 武器材料提示我用光了 很多技能不能用 找了很久不知道在什么地方买']
    '''
    SELECT SUM(1) FROM  question;
    11652677
    
    SELECT SUM(LENGTH(title))/(SELECT SUM(1) FROM  question) FROM question;
    57.1070
    '''
    type_l = ['sha224', 'sha256', 'sha384', 'sha512', 'md5', 'sha1']
    for str in l:
        for t in type_l:
            str_ = str.encode(encoding='utf-8')
            print(t, len(str), len(hashlib_str(str_, type=t)))
    

      

    sha224 40 56
    sha256 40 56
    sha384 40 96
    sha512 40 128
    md5 40 32
    sha1 40 40
    sha224 5 56
    sha256 5 56
    sha384 5 96
    sha512 5 128
    md5 5 32
    sha1 5 40
    sha224 80 56
    sha256 80 56
    sha384 80 96
    sha512 80 128
    md5 80 32
    sha1 80 40

    在避免哈希冲突的情况下,尽可能用少的字符串;

  • 相关阅读:
    lua 5.3最简单plugin编写
    CMake for MFC example
    写了个自动生成vcxproj的程序
    kindle試玩
    解放双手:如何在本地调试远程服务器上的Node代码
    PM2实用入门指南
    Express使用手记:核心入门
    Node服务一键离线部署
    fis-receiver:一行命令将项目部署到远程服务器
    Reflux系列01:异步操作经验小结
  • 原文地址:https://www.cnblogs.com/rsapaper/p/10031013.html
Copyright © 2020-2023  润新知