zoukankan      html  css  js  c++  java
  • hashlib 模块 摘要算法

    应用于用户登陆,对密码进行加密操作,

      #文件操作
        # hashlib 摘要算法
          #md5 算法: 是32位的16进制组成的数字字符组成的字符串
            #应用最广的摘要算法
            #效率高,相对不复杂,如果只是传统摘要不安全
          #sha 算法 :40位的16进制组成的数字字符组成的字符串
            #sha算法比md5算法要更加复杂
            #且sha n 算法越大越安全,耗时越久

    普通用法

    from hashlib
    def get_md5(s):
        md5_obj = hashlib.md5()
        md5_obj.update(s.encode("utf-8"))
        ret = md5_obj.hexdigest()
        return ret
    l1 = get_md5("alex123")
    print(l1)   #b75bd008d5fecb1f50cf026532e8ae67

    为防止非法人员恶意盗取

    加盐用法

    # def get_md5(s):
    #     md5_obj = hashlib.md5("盐".encode("utf-8"))    #盐是不变的
    #     md5_obj.update(s.encode("utf-8"))
    #     ret = md5_obj.hexdigest()
    #     return ret

    动态加盐

    # def get_md5(name,pwd):
    #     md5_obj = hashlib.md5(name.encode("utf-8"))
    #     md5_obj.update(pwd.encode("utf-8"))
    #     ret = md5_obj.hexdigest()
    #     return ret
    # l1 = get_md5("alex","alex123")
    # print(l1)
    def get_md5(name,pwd):
        md5_obj = hashlib.md5((name+pwd).encode("utf-8"))
        return md5_obj.hexdigest()
    print(get_md5("alex","alex123"))
    #判断文件的一致性校验
    # md5_obj = hashlib.md5()
    # md5_obj.update("hello,world".encode("utf-8"))
    # ret = md5_obj.hexdigest()
    # print(ret)
    
    # md5_obj = hashlib.md5()

    判断视频文件的一致性

    # import os,hashlib
    # def get_file_md5(file_path,buffer= 1024):
    #     md5_obj = hashlib.md5()
    #     file_size = os.path.getsize(file_path)
    #     with open(file_path,"rb") as f:
    #         while file_size:
    #             count = f.read(buffer)
    #             md5_obj.update(count)
    #             file_size -= len(count)
    #         return md5_obj.hexdigest()

    使用md5与 sha n系列用法一样,使用sha n 越大越安全 

  • 相关阅读:
    ubuntu14.04显卡驱动问题(amd5600k集显7650d)
    win7 ubuntu 14.04双系统安装
    func_num_args, func_get_arg, func_get-args 的区别与用法
    wamp2.5版本64位403forbidden问题
    mysql根据汉字拼音排序查询
    php判断浏览器语言
    php批量下载文件
    php搜索分页
    把ZenCart在线商店搭建到本地
    livezilla账号或密码修改方法
  • 原文地址:https://www.cnblogs.com/yuncong/p/9600427.html
Copyright © 2011-2022 走看看