python hashlib_python之hashlib模块

python hashlib_python之hashlib模块hashlib模块是python内置的摘要算法。hashlib有两种调用方式:第一种是hashlib.new方法new(name,data=b‘‘,**kwargs)-returnsanewhashobjectimplementingthegivenhashfunction;initializingthehashusingthegivenbinarydat…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

hashlib模块是python内置的摘要算法。

hashlib有两种调用方式:

第一种是hashlib.new方法

new(name, data=b‘‘, **kwargs) – returns a new hash object implementing the given hash function; initializing the hash using the given binary data.

importhashlib

md5obj= hashlib.new(“md5”, b‘alex3714‘)

md5obj.hexdigest()

第二种是直接创建被允许的的算法

Named constructor functions are also available, these are faster than using new(name):

md5(), sha1(), sha224(), sha256(), sha384(), sha512(), blake2b(), blake2s(), sha3_224, sha3_256, sha3_384, sha3_512, shake_128, and shake_256.

More algorithms may be available on your platform but the above are guaranteed to exist. See the algorithms_guaranteed and algorithms_available attributes to find out what algorithm names can be passed to new().

importhashlib#将一个字符串进行摘要运算,拿到一个固定的值;,包含了多中加密算法

md5obj = hashlib.md5() #摘要

md5obj.update(b‘alex‘) #要加密的字符串的字节

md5obj.update(b”3714″) #要加密的字符串的字节#多次update是拼接到一起的,再进行hexdigest(),结果和一次update的时一样的#md5obj.update(b‘alex3714)

md5obj.hexdigest() #转成16进制,加密结果是32位

用户名与密码加密:

名词:撞库,根据输入和摘要算法的结果来验证输入与存储的加密算法结果的一致性。

加盐,通过加入随机字符串来防止撞库。

对用户名和密码加密,通常会进行加盐:

1.根据用户名生成随机字符串

2.将该随机字符串与密码拼接在一起,进行摘要算法,得到最后的密码加密结果

importhashlib, random

l1= list(range(48, 58))

l2= list(range(65, 91))

l3= list(range(97, 123))

l1.extend(l2)

l1.extend(l3)

username= “alex”passwd= “alex3714”

#根据用户名生成随机字符串

lis = “”

for i in range(16):

v= random.randint(0, len(l1)-1)

lis+=chr(l1[v])

passwd+=lis

md5= hashlib.new(“md5″, bytes(passwd, encoding=”utf8”))

passwd=md5.hexdigest()

user=dict(

username=username,

user_string=lis,

passwd=passwd,

)print(user)#{‘username‘: ‘alex‘, ‘user_string‘: ‘MnkCViH3avdDYp3U‘, ‘passwd‘: ‘35a5a0e38ea22720a78d594d8f02a021‘}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227276.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月20日 下午10:22
下一篇 2025年6月20日 下午11:01


相关推荐

  • pidstat_pidstat 命令详解

    pidstat_pidstat 命令详解pidstat 概述 pidstat 是 sysstat 工具的一个命令 用于监控全部或指定进程的 cpu 内存 线程 设备 IO 等系统资源的占用情况 pidstat 首次运行时显示自系统启动开始的各项统计信息 之后运行 pidstat 将显示自上次运行该命令以后的统计信息 用户可以通过指定统计的次数和时间来获得所需的统计信息 pidstat 安装 pidstat 是 sysstat 软件套件的一部分 sysstat 包含

    2026年3月16日
    2
  • matlab 实现 garch 模型波动率估计

    matlab 实现 garch 模型波动率估计matlab 实现 garch 模型波动率估计 matlab 实现 garch 模型波动率估计代码高亮问题数据获取数据处理描述性统计时间序列平稳性检验相关和偏自相关 arch 效应检验建立 garch 模型波动率估计代码及文档地址代码高亮问题这边首先说一个问题 你们看到的 matlab 代码没有高亮 看上去很不舒服 但这个锅是 csdn 的 真垃圾 连个语法高亮

    2025年6月10日
    5
  • Springboot 下载文件

    Springboot 下载文件Springboot 下载文件比较简单 以下是代码 目录结构 FileUtil 为文件工具类 里面包括下载的方法 以下为 FileUtil 的代码 publicclassF publicstatic Stringfilena HttpServletR throwsIOExce

    2026年3月20日
    2
  • 选择性忽略的心理_选择性忽略是什么意思

    选择性忽略的心理_选择性忽略是什么意思Python:PyCharm选择性忽略PEP8警告PyCharm是个很强大的pythonIDE,PEP8的告警提示也很好用,但是函数名不能包含大写字母等少数几个规范真心觉得不好,如何取消呢?见下述步骤:在Ignorederrors中添加要忽略的告警ID。注意,要区分是属于coding还是naming。错误代码code samplemessage N801 classnamesshoulduseCapWordsconvention N8

    2022年8月29日
    3
  • 破解中国电信华为无线猫路由(HG522-C)自己主动拨号+不限电脑数+iTV

    破解中国电信华为无线猫路由(HG522-C)自己主动拨号+不限电脑数+iTV

    2021年12月8日
    65
  • 塑料高分子应用计算机,分子模拟方法与模拟软件Materials+Studio在高分子材料中的应用.pdf…

    塑料高分子应用计算机,分子模拟方法与模拟软件Materials+Studio在高分子材料中的应用.pdf…塑料庄吕清等——分了模拟方法及模拟软件MaterialsStudio在高分了材料中的应用2010年39卷第4期嵛誓。o。tjl:?、‘;’j1恭。j、t?lt.j一、o.、0分子模拟方法及模拟软件MaterialsStudio在高分子材料中的应用’庄昌清。岳红。张慧军(西北工业大学理学院应用化学系,陕西,西安710129)摘要:综述分子模拟的发…

    2022年5月25日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号