哈希加密代码

#!/usr/bin/env python
# -*- coding;utf-8 -*-
"""
哈希加密模块中有很多算法,调用不同的算法执行不同的加密,只需要修改调用模块,其他代码不用修改
"""
import hashlib
# 对相同字符串进行相同加密算法会得到相同结果
# 为了提高加密效果自定义一个字符串,与要第一次加密的内容在进行加密
# 别人不知道已给的字符串,通过123执行加密得不到最后的密文
hash = hashlib.md5(bytes("你的生日", encoding="utf-8"))
hash.update(bytes("123", encoding="utf-8"))
print(hash.hexdigest())

 基于md5对密码加密实现登录和注册

#!/usr/bin/env python
# -*- coding;utf-8 -*-
import hashlib
"""
哈希加密模块中有很多算法,调用不同的算法执行不同的加密,只需要修改调用模块,其他代码不用修改
"""
"""
import hashlib
# 对相同字符串进行相同加密算法会得到相同结果
# 为了提高加密效果自定义一个字符串,与要第一次加密的内容在进行加密
# 别人不知道已给的字符串,通过123执行加密得不到最后的密文
hash = hashlib.md5(bytes("你的生日", encoding="utf-8"))
hash.update(bytes("123", encoding="utf-8"))
print(hash.hexdigest())
""" def md5(arg):
hash = hashlib.md5(bytes("你的生日", encoding="utf-8"))
hash.update(bytes(arg, encoding="utf-8"))
return hash.hexdigest() def login(user, pwd):
with open("db", "r", encoding="utf-8") as f:
for line in f:
a, b = line.split("|")
if a == user and b == md5(pwd):
return True
else:
return False def regiser(user, pwd):
with open("db", "a", encoding="utf-8") as f:
temp = user + "|" + md5(pwd) + "\n"
f.write(temp)
return True def inp():
user = input("请输入用户名:\n>>>")
pwd = input("请输入密码:\n>>>")
return user, pwd if __name__ == "__main__":
a = input("1、登录;2、注册\n>>>")
if a == str(1):
user, pwd = inp()
if login(user, pwd):
print("登陆成功!")
else:
print("登陆失败!")
elif a == str(2):
user, pwd = inp()
if regiser(user, pwd):
print("注册成功!")
else:
print("注册失败!")

  

python全栈开发:hashlib加密的更多相关文章

  1. python全栈开发-hashlib模块(数据加密)、suprocess模块、xml模块

    一.hashlib模块 1.什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 ...

  2. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

  3. python全栈开发中级班全程笔记(第二模块、第四章)(常用模块导入)

    python全栈开发笔记第二模块 第四章 :常用模块(第二部分)     一.os 模块的 详解 1.os.getcwd()    :得到当前工作目录,即当前python解释器所在目录路径 impor ...

  4. python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)

    昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...

  5. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

  6. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  7. Python全栈开发【基础四】

    Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...

  8. Python全栈开发【基础三】

    Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...

  9. Python全栈开发【基础二】

    Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...

  10. Python全栈开发【基础一】

    Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...

随机推荐

  1. NX二次开发-UFUN拾取平面对话框UF_UI_specify_plane

    #include <uf.h> #include <uf_ui.h> UF_initialize(); //拾取平面对话框 ] = { , , , , , , , , }; ] ...

  2. ARC032 D - アットコーダーモンスターズ

    https://arc032.contest.atcoder.jp/tasks/arc032_4# 切比雪夫距离,放在3000*3000的平面上, 一个集合就是恰好包含这个集合的矩形,价值是矩形长.宽 ...

  3. Delphi常用字符串函数

    Delphi常用字符串函数   一.字符转换函数1.ord(input[i])返回字符表达式 input 左端起第 I 字符的ASCII 码值.2.CHAR()将ASCII 码转换为字符.如果没有输入 ...

  4. 尾插法-实现链表反转(有点bug,以后再来研究下)

    def func2(head): p = head.next while p.next: q = p.next p.next = q.next # 重点 head.next = q q.next = ...

  5. 如何理解CUDA中的cudaMalloc()的参数

    首先看下此运行时函数的原型: cudaError_t cudaMalloc (void **devPtr, size_t size ); 主要的第一个参数.为什么是两个星星呢?用个例子来说明下. fl ...

  6. EXE 和 SYS 信息交互

    操了,分发函数少发一个,让我白调了两个多小时.

  7. ARM GNU 专有符号

    1. @ 表示注释从当前位置到行尾的字符. 2. # 注释掉一整行. 3. ; 新行分隔符.

  8. MySQL中查询所有数据库占用磁盘空间大小

    查询所有数据库占用磁盘空间大小的SQL语句: 复制代码 代码如下:select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2), ...

  9. MySQL - 锁等待超时与information_schema的三个表

    引用地址:https://blog.csdn.net/J080624/article/details/80596958 回顾一下生产中的一次MySQL异常,Cause: java.sql.SQLExc ...

  10. 学习修复Laravel The only supported ciphers are AES-128-CBC and AES-256-CBC

    The only supported ciphers are AES-128-CBC and AES-256-CBC 在项目中,删除了 .env的APP_KEY的值,再运行 php artisan k ...