首页 > 其他 > 详细

hashlib

时间:2020-10-30 10:18:06      阅读:32      评论:0      收藏:0      [点我收藏+]

hashlib:加密

作用:加密和校验

1、只要明文相同,密文就是相同

2、只要明文不相同,密文就是不相同

3、不能反译(不能解密)

加密步骤:

1、加密的内容

2、将要加密的内容转换成字节

最常用的是md5,平时加密的时候使用sha1

yulin:45184a42316254195185b5f05f5dbcd8

md5:校验(因为被破解,不能当做加密)

import hashlib
md5 = hashlib.md5()  # 初始化md5加密工具
md5.update("yulin123".encode("utf-8"))  # 编码集无关,只要转二进制
print(md5.hexdigest())

yulin:92b2e43a7093b80ddcaa36dbda57f893be717501

sha1:加密

import hashlib
sha1 = hashlib.sha1()  # 初始化sha1加密工具
sha1.update("yulin123".encode("utf-8"))  # 编码集无关,只要转二进制
print(sha1.hexdigest())

sha512

import hashlib
sha512 = hashlib.sha512()  # 初始化sha512加密工具
sha512.update("yulin123".encode("utf-8"))  # 编码集无关,只要转二进制
print(sha512.hexdigest())

固定加盐:

import hashlib
md5 = hashlib.md5("可乐".encode("utf-8"))
md5.update("yulin123".encode("utf-8"))
print(md5.hexdigest())

动态加盐:

import hashlib
user = input("username:")
pwd = input("password:")
md5 = hashlib.md5(user.encode("utf-8"))
md5.update("yulin123".encode("utf-8"))
print(md5.hexdigest())
ss = "yulinisliangzai"
s = "yulin"
s1 = "is"
s2 = "liangzai"

import hashlib
md5 = hashlib.md5()
md5.update(ss.encode("utf-8"))
print(md5.hexdigest())

md5 = hashlib.md5()
md5.update(s.encode("utf-8"))
md5.update(s1.encode("utf-8"))
md5.update(s2.encode("utf-8"))
print(md5.hexdigest())

校验:2f8a736eeb307a27f1998cfd07f22440

import hashlib
f = open(r"/Users/ylinn/python_pycharm/day17/python-3.8.5-macosx10.9.pkg", "rb")
md5 = hashlib.md5()
while True:
    msg = f.read(1024)
    if msg:
        md5.update(msg)
    else:
        print(md5.hexdigest())  # 2f8a736eeb307a27f1998cfd07f22440
        break

hashlib

原文:https://www.cnblogs.com/Ylinn/p/13900242.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!