• 多测师讲解pyhon__hashlib_高级讲师肖sir


    一、加密,加密成16进制的字符串

    # import hashlib  # 导入hashlib模块
    # md = hashlib.md5() # 获取一个md5加密算法对象
    # md.update('需要加密的字符'.encode('utf-8')) # 制定需要加密的字符串
    # print(md.hexdigest()) # 获取加密后的16进制字符串

    import hashlib
    md5 = hashlib.md5()
    md5.update('123 '.encode("utf-8"))
    md5.update('456'.encode("utf-8"))
    print(md5.hexdigest())

    很多用户喜欢用123456,888888,password这些简单的口令,黑客可以事先计算出这些常用口令的MD5值,得到一个反推表:
    如:
    'e10adc3949ba59abbe56e057f20f883e': '123456'
    '21218cca77804d2ba1922c33e0151105': '888888'
    '5f4dcc3b5aa765d61d8327deb882cf99': 'password'

    hashlib.md5("123456".encode("utf8")) #里边的salt内容则称之为加盐






    散列消息鉴别码,简称HMAC,是一种基于消息鉴别码MAC(Message Authentication Code)的鉴别机制。使用HMAC时,消息通讯的双方,通过验证消息中加入的鉴别密钥K来鉴别消息的真伪;(相当于对暗号)



     案例1:

    python hashlib md5算法加密用户密码登录程序

    import hashlib

    def md5(arg):
    '''
    用于把用户的密码加密
    '''
    md5 = hashlib.md5()
    md5.update(bytes(arg, encoding='utf-8'))
    return md5.hexdigest()
    def register(use1r,passwd):
    #用户注册的时候把密码加密添加到文件
    with open("db", 'a') as f:
    tmp = " " + user + "|"+ md5(passwd)
    f.write(tmp)
    return True
    def login(user,passwd):
    #用户登录时候认证
    with open('db','r') as f:
    for i in f:
    c = i.strip()
    s = c.split("|")
    if s[0]== user and s[1] == md5(passwd):
    return True
    sum = input("1登录 2注册:")
    if sum == "1"or sum == "2":
    user = input("请输入账号:")
    passwd = input("请输入密码:")
    if sum =="1":
    if login(user,passwd):
    print("登录成功")
    else:
    print("登录失败")
    if sum =="2":
    if register(user,passwd):
    print("注册成功")
    else:
    print("输入错误")
  • 相关阅读:
    An Introduction to the Linuxbased Assignments
    [读书笔记]Binary Hancks(1)
    haneWIN NFS Server
    [读书笔记]Binary Hancks(2) livepatch在X86下的实践
    CTNG编译错误以及解决办法
    [转]ucLinux下sqlite数据库移植全攻略
    程序员该有的艺术气质—SOLID原则
    Httpclient远程调用WebService示例(Eclipse+httpclient)
    四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)
    全网首发:原创SQL数据库同步工具
  • 原文地址:https://www.cnblogs.com/xiaolehua/p/13697559.html
Copyright © 2020-2023  润新知