一、加密,加密成16进制的字符串

# import hashlib  # 导入hashlib模块
# md = hashlib.md5() # 获取一个md5加密算法对象
# md.update('需要加密的字符'.encode('utf-8')) # 制定需要加密的字符串
# print(md.hexdigest()) # 获取加密后的16进制字符串

import hashlib
md5 = hashlib.md5()
md5.update('123 '.encode("utf-8"))
md5.update('456'.encode("utf-8"))
print(md5.hexdigest())

很多用户喜欢用123456,888888,password这些简单的口令,黑客可以事先计算出这些常用口令的MD5值,得到一个反推表:
如:
'e10adc3949ba59abbe56e057f20f883e': '123456'
'21218cca77804d2ba1922c33e0151105': '888888'
'5f4dcc3b5aa765d61d8327deb882cf99': 'password'

hashlib.md5("123456".encode("utf8")) #里边的salt内容则称之为加盐


散列消息鉴别码,简称HMAC,是一种基于消息鉴别码MAC(Message Authentication Code)的鉴别机制。使用HMAC时,消息通讯的双方,通过验证消息中加入的鉴别密钥K来鉴别消息的真伪;(相当于对暗号)



案例1:

python hashlib md5算法加密用户密码登录程序

import hashlib

def md5(arg):
'''
用于把用户的密码加密
'''
md5 = hashlib.md5()
md5.update(bytes(arg, encoding='utf-8'))
return md5.hexdigest()
def register(use1r,passwd):
#用户注册的时候把密码加密添加到文件
with open("db", 'a') as f:
tmp = "\n" + user + "|"+ md5(passwd)
f.write(tmp)
return True
def login(user,passwd):
#用户登录时候认证
with open('db','r') as f:
for i in f:
c = i.strip()
s = c.split("|")
if s[0]== user and s[1] == md5(passwd):
return True
sum = input("1登录 2注册:")
if sum == "1"or sum == "2":
user = input("请输入账号:")
passwd = input("请输入密码:")
if sum =="1":
if login(user,passwd):
print("登录成功")
else:
print("登录失败")
if sum =="2":
if register(user,passwd):
print("注册成功")
else:
print("输入错误")

多测师讲解pyhon__hashlib_高级讲师肖sir的更多相关文章

  1. 多测师讲解自动化selenium___定位元素002___高级讲师肖sir

    高级自动化测试python+selenium教程手册 --高级讲师肖sir(Harm) 第 2 章8种定位方法 总结: selenium 的 webdriver 提供了八种基本的元素定位方法,前面六种 ...

  2. 多测师讲解_ 高级自动化测试selenium_001基本学习

    高级自动化测试python+selenium教程手册 --高级讲师肖sir 第 1 章webdriver 环境搭建好了,我们正式学习 selenium 的 webdriver 框架,它不像 QTP 之 ...

  3. 多测师讲解自动化测试 _RF封装_(三层模式)高级讲师肖sir

    rf自动化:分层作用: 1.项目----有重复的流程(借款-登录,出借-登录) 2.借款--登录(8个流程)机器人:案例层(用例)写在机器人中,1个机器人=1条用例 分三个层次: 1.案例层(存放用例 ...

  4. 多测师讲解自动化测试 _RF关键字001_(上)_高级讲师肖sir

    讲解案例1: Open Browser http://www.baidu.com gc #打开浏览器 Maximize Browser Window #窗口最大化 sleep 2 #线程等待2秒 In ...

  5. 多测师讲解第一个月 _综合面试题_高级讲师肖sir

    第一个月综合面试题 1.  冒烟测试是什么意思?  对主要的用例测试 2.你们公司的项目流程是什么? 3.你们公司的bug分几个级别?  4个 4.你对外键是怎么理解的? 你会使用外键吗?给一个表添加 ...

  6. 多测师讲解python_os模块_高级讲师肖sir

    #os.path.isfile()#:判断当前是否为文件,返回布尔值是文件则True否者Falsea_path='F:\cms搭建.rar' #lesson包b_path=r'D:\bao\kk '# ...

  7. 多测师讲解自动化--rf断言(下)--_高级讲师肖sir

    1.Page Should Contain 1.1存在页面上的内容 1.2 不存在页面上的内容, 运行抛异常 1.3 Page Should Not Contain 1.4 1.5 输入页面元素,判断 ...

  8. 多测师讲解自动化--rf关键字--断言(下)_高级讲师肖sir

    断言: 1.1Page Should Contain Maximize Browser Window sleep 2 Comment Page Should Contain hao123 #断言当前页 ...

  9. 多测师讲解自动化测试_rf节课内容_高级讲师肖sir

    *** Settings ***Library Selenium2LibraryLibrary OperatingSystem *** Variables ***${name} zhangsan@{l ...

随机推荐

  1. 百度网盘,实现免费不限速,10M/S?

    前段时间,各大消息都说百度网盘实现了免费和不限速的『提速模式』,可以达到10M/S,于是我带着好奇想要进行测试一下,探一探真假,毕竟只有自己动手实践才知道真理,结果,辜负众望,一向对用户限速还限制上传 ...

  2. Python实践项目2

    #南昌理工学院人工智能学院实验室WORKSHOP实践项目 import time import random SCRIPT_NPC_SCHOOL_SISTER = ['你好!', '你好!', '你是 ...

  3. Java的ArrayList实现随机生成N-M之间N个不重复的随机数

    在此之前我使用Java的数组实现了产生N-M之间的不重复的随机数,下面是使用数列ArrayList实现同样的功能,代码如下: /** * 随机生成 N--M,N个不重复随机数 使用ArrayList ...

  4. SpringBoot整合MinIO

    今天因为公司的需求接触到这个东西,我们先来看下MinIO的官网简介 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务.它兼容亚马逊S3云存储服务接口,非常适合于存储大 ...

  5. Fragment时长统计那些事

    注:本文同步发布于微信公众号:stringwu的互联网杂谈 frament时长统计那些事 页面停留时长作为应用统计的北极星指标里的重要指标之一,统计用户在某个页面的停留时长则变得很重要.而Fragme ...

  6. linux系统漏洞扫描工具lynis

    lynis 是一款运行在 Unix/Linux 平台上的基于主机的.开源的安全审计软件.Lynis是针对Unix/Linux的安全检查工具,可以发现潜在的安全威胁.这个工具覆盖可疑文件监测.漏洞.恶意 ...

  7. 【吴恩达课程使用】anaconda (python 3.7) win10安装 tensorflow 1.8 cpu版

    [吴恩达课程使用]anaconda (python 3.7) win10安装 tensorflow 1.8 目前tensorflow是只支持到python3.6的,anaconda最新版本已经到pyt ...

  8. 跨平台框架与React Native基础

    跨平台框架 什么是跨平台框架? 这里的多个平台一般是指 iOS 和 Android . 为什么需要跨平台框架? 目前,移动开发技术主要分为原生开发和跨平台开发两种.其中,原生应用是指在某个特定的移动平 ...

  9. MySQL For Linux(CentOS/Ubuntu/Debian/Fedora/Arch)一键安装脚本(5.1-8.0)

    简介 很多童鞋不懂这么在Linux系统安装MySQL,网上大多数教程较复杂,不太适合小白安装,本教程提供一键安装脚本供大家使用,教大家怎么在Linux操作系统( 支持CentOS/Ubuntu/Deb ...

  10. 在浏览器输入 URL 回车之后发生了什么(超详细版)

    前言 这个问题已经是老生常谈了,更是经常被作为面试的压轴题出现,网上也有很多文章,但最近闲的无聊,然后就自己做了一篇笔记,感觉比之前理解更透彻了. 这篇笔记是我这两天看了数十篇文章总结出来的,所以相对 ...