Python学习之hashlib模块

一· hashlib简介

 1.hash是一种算法,该算法接收传入的内容,经过运算得到一串hash值

 2.hash值的特点:

     a. 只要传入内容一样,则所获hash值一样

     b. 不能由hash值反解出内容

     c. 只要使用的hash算法不变,无论校验的内容多大,所得的hash长度是固定的

   二、使用

import hashlib

obj = hashlib.md5() # 创建一个hash对象
obj.update("康".encode("utf-8"))     # 利用update传输字符串 并返回hash值
print(obj, type(obj))

注意在进行md5哈希运算前应该编码

获取加密字符串:

import hashlib

obj = hashlib.md5()
obj.update("康".encode("utf-8"))
kang = obj.hexdigest()
print(kang)
204ec6eb7a10f35de2fa2579073bae6b

构造加密函数(返回加密字符串):

import hashlib


def jia_mi(data):
    obj = hashlib.md5()
    obj.update("data".encode("utf-8"))
    kang = obj.hexdigest()
    return kang


kan = jia_mi("小明")
print(kan)

输出:

8d777f385d3dfec8815d20f7496026dc

利用hashlib对用户登录进行加密:

import hashlib


USER_LIST = []


def jia_mi(data):
    obj = hashlib.md5()
    obj.update("data".encode("utf-8"))
    kang = obj.hexdigest()
    return kang


def register():
    print('**************用户注册**************')
    while True:
        user = input('请输入用户名:')
        if user == 'K':
            return
        password = input('请输入密码:')
        temp = {'username': user, 'pass': password}
        USER_LIST.append(temp)


def login():
    print('**************用户登陆**************')
    user = input('请输入用户名:')
    password = input('请输入密码:')
    for item in USER_LIST:
        if item['username'] == user and item['pass'] == password:
            return True
        else:
            return False


register()
Bool = login()
if Bool:
    print("登陆成功!")
else:
    print("用户名或密码错误!")

输出界面:

**************用户注册**************
请输入用户名:kang
请输入密码:123
请输入用户名:K
**************用户登陆**************
请输入用户名:kang
请输入密码:123
登陆成功!

Process finished with exit code 0

文章若有错误,请指正

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值