码迷,mamicode.com
首页 > 其他好文 > 详细

模块 hashlib模块

时间:2018-01-23 18:27:55      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:==   use   算法   输入   hashlib   存储   远程服务   sha1   是否一致   

hashlib模块  提供摘要算法

主要做对比,比较两段代码是否完全一致

不管算法多么不同,摘要功能始终不变,

对同一个字符串进项同一算法摘要得到的值始终不变

MD5值的生成

import hashlib
sha1 = hashlib.md5()  #一定加括号
sha1.update(bytes(alex3421,encoding=utf-8))
print(sha.hexdigest())  

sha 算法随着算法复杂程度的增加,时间空间都会提高

密码的密文存储

文件一致性验证(不需要加盐,别人不知道你的盐是什么)

1、在下载时,检查我们下载的文件和远程服务器上的文件是否一致

2、两台机器上的两个文件你想检查这两个文件是否相等

import hashlib
usr1 = input(请输入注册用户名>>>)
psd1 = input(密码>>>)
with open(file) as f3:
    for  i in  f3:
        use2,psd2=i.split(|)
        if use2 == usr1:
            print(已存在用户名)
    else:
        with open(file,a) as f1:
            md5 = hashlib.md5(bytes(usr1[:2],encoding=utf-8)+bytes(Ebola,encoding=utf-8))
            md5.update(bytes(psd1,encoding=utf-8))
            md5_psd1 = md5.hexdigest()
            f1.write({}|{}\n.format(usr1,md5_psd1))
usr = input(请输入用户名>>>)
psd = input(密码>>>)
with open(file) as f:
    for  i in f:
        username,passwd = i.split(|)
        passwd = passwd.strip()
        md5 = hashlib.md5(bytes(usr[:2],encoding=utf-8)+bytes(Ebola,encoding=utf-8))  #动态加盐
        md5.update(bytes(psd,encoding=utf-8))
        md5_psd = md5.hexdigest()
        if usr == username and md5_psd == passwd:
            print(登陆成功)

 

模块 hashlib模块

标签:==   use   算法   输入   hashlib   存储   远程服务   sha1   是否一致   

原文地址:https://www.cnblogs.com/Ebola-/p/8336943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!