day23_4_hashlib
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# ------------------------------------------------------------
# 参考资料:
# python模块(转自Yuan先生) - 狂奔__蜗牛 - 博客园
# https://www.cnblogs.com/guojintao/articles/9070485.html
# ------------------------------------------------------------
# ******************** day23_4_hashlib *******************
# ******************** day23_4_hashlib *******************
# =====>>>>>>内容概览
# =====>>>>>>内容概览 # ------------------------------------------------------------
# # 1、hashlib简介
# # # 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256,
# # # SHA384, SHA512 ,MD5 算法
# # # 这个操作是单向操作,内容---->编码---->编码内容,是不可逆的,但是内容与被编码的内容的映射关系
# # # 是一一对应的
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 2、对字符串进行编码进行编码
# # # 相同的内容,编码出来的结果相同,
# ------------------------------------------------------------ # ------------------------------------------------------------
# # 2.1、对字符串进行编码进行编码
# # # 相同的内容,编码出来的结果相同
# # # 同一对象,先A后B == 直接编码AB
# ------------------------------------------------------------
# ------------------------------------------------分割线-------------------------------------------------
# ------------------------------------------------分割线-------------------------------------------------
# ------------------------------------------------分割线-------------------------------------------------
'''
# ------------------------------------------------------------
# # 1、hashlib简介
# # # 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256,
# # # SHA384, SHA512 ,MD5 算法
# # # 这个操作是单向操作,内容---->编码---->编码内容,是不可逆的,但是内容与被编码的内容的映射关系
# # # 是一一对应的
# ------------------------------------------------------------
''' '''
# ------------------------------------------------------------
# # 2、对字符串进行编码进行编码
# # # 相同的内容,编码出来的结果相同,
# ------------------------------------------------------------
'''
#
# import hashlib
# obj1 = hashlib.md5()
# obj1.update("hello".encode("utf8"))
#
# obj11 = hashlib.md5()
# obj11.update("hello".encode("utf8"))
#
# obj2 = hashlib.md5()
# obj2.update("LiSir".encode("utf8"))
#
# print("obj1: ",obj1.hexdigest())
# print("obj11: ",obj11.hexdigest())
# print("obj2: ",obj2.hexdigest())
#
#
# # D:\Anaconda3\python.exe D:/C_cache/py/day23-re_logging_hashlib_MoKuaiDaoRu/day23_4_hashlib.py
# # obj1: 5d41402abc4b2a76b9719d911017c592
# # obj11: 5d41402abc4b2a76b9719d911017c592
# # obj2: 6325936dcf78afbf43a1073ae79cde0b
# #
# # Process finished with exit code 0 '''
# ------------------------------------------------------------
# # 2.1、对字符串进行编码进行编码
# # # 相同的内容,编码出来的结果相同
# # # 同一对象,先A后B == 直接编码AB
# ------------------------------------------------------------ '''
#
# import hashlib
# obj1 = hashlib.md5()
# obj1.update("hello".encode("utf8"))
#
# obj11 = hashlib.md5()
# obj11.update("hello".encode("utf8"))
# # 下面的编码是在上面hello的基础上进行的
# # obj11---->编码hello---->obj11---->编码Lisir---->obj11编码结束
# # 等价:obj11---->编码helloLisir---->obj11编码结束
# obj11.update("LiSir".encode("utf8"))
#
#
# obj2 = hashlib.md5()
# obj2.update("LiSir".encode("utf8"))
#
# obj3 = hashlib.md5()
# obj3.update("helloLiSir".encode("utf8"))
#
# print("obj1: ",obj1.hexdigest())
# print("obj11: ",obj11.hexdigest())
# print("obj2: ",obj2.hexdigest())
# print("obj3: ",obj3.hexdigest())
#
# # D:\Anaconda3\python.exe D:/C_cache/py/day23-re_logging_hashlib_MoKuaiDaoRu/day23_4_hashlib.py
# # obj1: 5d41402abc4b2a76b9719d911017c592
# # obj11: 84197e823a022277f1fa2dbfb5cb7990
# # obj2: 6325936dcf78afbf43a1073ae79cde0b
# # obj3: 84197e823a022277f1fa2dbfb5cb7990
# #
# # Process finished with exit code 0
day23_4_hashlib的更多相关文章
随机推荐
- vue组件基础之父子传值
可以看出数据从后端获取过来,最外层的父组件接收数据,子组件不能直接获取,必须由父组件传递,此时使用props,并且父组件的值更新后,子组件的值也会随之更新,但是反过来通过修改子组件props来影响父组 ...
- vue app外卖(5) 使用swiper 进行图片轮播
1.查看swiper 文档 https://www.swiper.com.cn/usage/index.html 2. 下载 npm install --save swiper 3.在页面引入 imp ...
- php 引入其他文件中的变量
在php的开发过程中,如果所有的代码都写在同一个文件中的话,那么文件中的代码数量是否太多了,一来不便维护,二来对于编辑器也是个负担include("class0.php");在ph ...
- 6368. 【NOIP2019模拟2019.9.25】质树
题目 题目大意 有个二叉树,满足每个点跟它的所有祖先互质. 给出二叉树的中序遍历的点权,还原一种可能的方案. 思考历程 首先想到的当然是找到一个跟全部互质的点作为根,然后左右两边递归下去处理-- 然而 ...
- Delphi 中多线程同步的一些处理方法
Delphi 中多线程同步的一些处理方法 当创建了多个线程,并且多个线程都要访问同一资源,,就有可能出现混乱,于是用Synchronize来控制,使同一时间只有一个线程使用那部分资源,Synchr ...
- Python3 测试报告BeautifulReport中添加截图
在测试类中,添加save_img方法,在测试过程中出现错误时,自动截图并返回失败 默认存放的图片路径是img def save_img(self, img_name): ""&qu ...
- hexo中加入点击出现小红心的特效会导致无法双击选中和连续点击三次选中一整行的操作
文章目录 问题描述 解决 个人博客:https://mmmmmm.me 源码:https://github.com/dataiyangu/dataiyangu.github.io 问题描述 如题,我们 ...
- Winform 获取桌面设备上下文
//获得桌面设备上下文 us(Graphics g = Graphics.FromHwnd(IntPtr.Zero)) { g.DrawLine(Pens.Red, , , , ); }
- nginx 知识
nginx如何实现高并发? 启动nginx服务器后,输入 ps -ef |grep nginx,会发现nginx有一个master进程 和若干个worker进程, 这些worker进程是平等的,都是被 ...
- 既然 start() 方法会调用 run() 方法,为什么我们调用 start() 方法,而不直接调用 run() 方法?
当你调用 start() 方法时,它会新建一个线程然后执行 run() 方法中的代码.如果直接调用 run() 方法,并不会创建新线程,方法中的代码会在当前调用者的线程中执行