hashlib模块[通俗易懂]

hashlib模块[通俗易懂]hashlib模块一、数据安全二、hash结构三、hashlib用法简单使用实例importhashlib#md5的使用res=hashlib.md5(‘淘气包’.encode())#res=hashlib.new(‘md5′,’淘气包’.encode())#使用md5进行加密print(res)#<md5HASHobject@…

大家好,又见面了,我是你们的朋友全栈君。

hashlib模块

一、数据安全

在这里插入图片描述

二、hash结构

在这里插入图片描述

三、hashlib用法

在这里插入图片描述
简单使用
在这里插入图片描述
实例


import hashlib
# md5的使用
res = hashlib.md5('淘气包'.encode())
# res = hashlib.new('md5', '淘气包'.encode())  # 使用md5进行加密
print(res)  # <md5 HASH object @ 0x7fa4bbb955a8>
# 获取加密后的值
print(res.digest())  # b'\x1f(\xa5\xb8v\xbf\x96\x10\x01\xc8a\xcb\x86=\xb9m'
print(res.hexdigest())  # 1f28a5b876bf961001c861cb863db96d(十六进制数据)

res = hashlib.sha256('淘气包'.encode())
print(res)  # <sha256 HASH object @ 0x7fce6efe9508>
print(res.hexdigest())  # b38d80a1442acd6fc7e5254dbc610a84200c956ffff6d80d5f846ce3f8948b62

# update:先不写入值,需要的时候再update一下,可以多次使用
res = hashlib.sha1()

res.update('精灵'.encode())
print(res.hexdigest())  # 6ff8f715acf0e19d02f416b34aa6cfb0fb521f70

res.update('阙林国 '.encode())
print(res.hexdigest())  # ddd2186e6d3d6be4bf9d01c68280b74483ae3858

"""
应用场景:
注册:原始账号+原始密码---->md5加密---->保存加密后的字符串
登录:原始账号+原始密码---->md5加密---->传送到后台,验证加密后的字符串是否相等
"""

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/130354.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • ping和tracert的原理_ping和tracert的作用是什么

    ping和tracert的原理_ping和tracert的作用是什么ping程序是利用icmp的回复请求来探测远端主机是否可达。(并不能继续判断端口是否可达。要想查看端口,就要使用扫描器了。)win2000里的网络库里已经提供网络函数库(icmp.dll)可以实现利用icmp来探测远端主机。相比起使用管道来读ping的结果,或者嵌入ping源码,这个是最简单的方法了(没办法,人懒)。ping其实还有一个R选项,用来记录经过的路由,以前一直不知道。(pingww

  • 定制SwipeRefreshLayout

    定制SwipeRefreshLayoutSwipeRefreshLayout大家都用过,google推出的,亲生儿子,兼容性自然最好!可是SwipeRefreshLayout只支持下拉刷新,没有上拉加载更多,这样是没办法满足我们的需要的,所以本文就对它进行一下定制,加上下拉刷新。首先贴用法:xml:

  • JS图片水印(水印图片)

    attendanceClick(userID,headImg,userName,company,scoreNmu){letbase64Image=’assets/imagesaring.png’;letbase64Image1=’assets/imagesaring1.png’;letbase64Image2=’assets/imagesar…

  • es6之数组的flat(),flatMap()「建议收藏」

    es6之数组的flat(),flatMap()「建议收藏」数组的成员有时还是数组,Array.prototype.flat()用于将嵌套的数组“拉平”,变成一维数组。该方法返回一个新数组,对原数据没有影响。[1,2,[3,4]].flat()//[1,2,3,4]上面代码中,原数组的成员里面有一个数组,flat()方法将子数组的成员取出来,添加在原来的位置。flat()默认只会“拉平”一层,如果想要“拉平”多层的嵌套数组,可以将f…

  • java过滤器Filter「建议收藏」

    java过滤器Filter「建议收藏」一、简介Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断如是否有权限访问页面等。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request、Response)统一设置编码,简化操作;同时还可进行逻辑判断,如用户是否已经登陆、…

  • 不会部署并调试SpringBoot源码?一看必会IDEA操作[通俗易懂]

    不会部署并调试SpringBoot源码?一看必会IDEA操作[通俗易懂]SpringBoot现在这么火几乎是面试必问,如果你能说出点源码是如果实现的,那么面试官跟定对你刮目相看。但是好多同学往往在部署SpringBoot源码的时候,由于找不到门路而选择放弃。本篇博客通过简单方式教你如果将SpringBoot源码导入IDEA并对其进行调试,对核心的代码添加自己注释内容。

发表回复

您的电子邮箱地址不会被公开。

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