当前位置: 首页 > news >正文

python语言day5 MD5 json

        md5:

              python提供了内置的md5加密功能,使用md5模拟一个小项目:

                             注册:   

                                启动py程序,在控制台界面提示用户输入用户名及密码;

                                使用md5加密 密码;

                                创建txt文件记录输入的用户名 和密文。

                             登录:

                                再次让用户输入用户名和密码;

                                使用md5加密 得到对应密文;

                                读取txt文件验证是否有符合的用户名及密文。

import hashlibdef md5(data):obj = hashlib.md5()obj.update(data.encode('utf-8'))return obj.hexdigest()def write(content1, content2):file_obj = open("db.txt", mode='a', encoding='utf-8')file_obj.write(content1)file_obj.write(content2)file_obj.close()def read(fileName):file_obj = open(fileName, mode='r', encoding='utf-8')content = file_obj.read().split("\n")file_obj.close()return contentif __name__ == '__main__':user = input("请输入用户名:  ")password = input("请输入密码:  ")pwd = md5(password)# content = "{}\n{}".format(user,pwd)content1 = "{}\n".format(user)content2 = "{}\n".format(pwd)write(content1, content2)data_list = read("db.txt")print(data_list)for index, item in enumerate(data_list):if index == 0:continueif (index % 2 != 0):if pwd == item:if (user == data_list[index - 1]):print("登陆成功")breakprint("循环",index)

         md5加盐:

                  加盐也就是对密文的再次加密,防止撞库,再次加密的对应关系要保留。

                 例如 :

                      密文:  900150983cd24fb0d6963f7d28e17f72

                      加盐: 900150983cd24fb0d6963f7d28e17f72a

                      加盐对应关系就是最后多个a,这样撞库也撞不出来。

json:

    str.json():  json格式转对应字典数组格式

                发送一个get请求到url,得到一个json数据,并遍历数组data["data"]["result"]:

                        只有第一行字符串是json格式,其他行都只是类似json的字符串。
 

                                

import requestsres = requests.get('https://api.luffycity.com/api/v1/course/actual/?')
print(res.text)data = res.json()
for item in data["data"]["result"]:print(item)

                

        标准的json格式的语法:

                        内部一定是用双引号对应key值;

                        最外层可以是花括号,也可以是中括号;

                        整个json对象的名字没有意义,不管叫什么名字,只会显示封装好的内部数据

            

         json.loads():

                    python内置的json包提供了对json格式的解析

         json.dumps():

                    将数据封装为json格式。    

                

相关文章:

python语言day5 MD5 json

md5: python提供了内置的md5加密功能,使用md5模拟一个小项目: 注册: 启动py程序,在控制台界面提示用户输入用户名及密码; 使用md5加密 密码; 创建txt文件记录输入的用户名 和密文。 登录&…...

【Python学习手册(第四版)】学习笔记19-函数的高级话题

个人总结难免疏漏,请多包涵。更多内容请查看原文。本文以及学习笔记系列仅用于个人学习、研究交流。 本文主要介绍函数相关的高级概念:递归函数、函数注解、lambda表达式函数,常用函数工具如map、filter、reduce,以及通用的函数设…...

Selenium + Python 自动化测试11(unittest组织用例)

我们的目标是:按照这一套资料学习下来,大家可以独立完成自动化测试的任务。 上一篇我们讨论了unittest基本使用方法。 本篇文章我们接着讲。一些概念和一些常用的构造测试集的方法。 1、基本概念 1)Test Case 一个Test Case的实例就是一个测…...

【唐氏题目 nt题】与众不同

# 与众不同 ## 题目描述 A是某公司的CEO,每个月都会有员工把公司的盈利数据送给A,A是个与众不同的怪人,A不注重盈利还是亏本,而是喜欢研究「完美序列」:一段连续的序列满足序列中的数互不相同。 A想知道区间[L,R]之…...

2000块的活嫌低?这个 6 位数的项目,你可不能错过哟!

2000块钱嫌低?这个6位数的项目,你可不能错过,关注有好礼。 最近写了一篇“接了一个2000块钱的活,大家看看值不值”的文章,发现流量和大家互动的热情出奇的高,可能是跟有钱有关的缘故,大家不是奔…...

【Postman工具】

一.接口扫盲 1.什么是接口? 接口是系统之间数据交互的通道。拿小红到沙县点餐为例:小红想吃鸭腿饭。她要用什么语言来表达?跟谁表达?通过什么表达?按照生活习惯应该是:小红根据菜单对服务员用中文表达她想要…...

全网超详细攻略-从入门到精通haproxy七层代理

目录 一.haproxy概述 1.1 haproxy简介 1.2 haproxy的主要特性 1.3 haproxy的优缺点 二.负载均衡介绍 2.1 什么是负载均衡 2.2 为什么用负载均衡 2.3 负载均衡类型 2.3.1 四层负载均衡 2.3.2 七层负载均衡 2.3.3 四层和七层的区别 三.haproxy的安装及服务 3.1 实验环…...

AI编程辅助工具:CodeGeeX 插件使用

CodeGeeX 插件使用 前言1.支持的平台2.安装步骤3.启用插件4.代码生成5.代码优化 前言 CodeGeeX 是一款基于 AI 技术的编程助手插件,旨在帮助开发者提高编程效率和代码质量。它能够智能生成代码、优化现有代码、自动生成文档以及回答编程相关的问题。无论您是初学者…...

sql注入实战——thinkPHP

sql注入实战——thinkPHP sql注入实战——thinkPHPthinkPHP前期环境搭建创建数据库开始寻找漏洞点输入SQL注入语句漏洞分析 实验错误 sql注入实战——thinkPHP thinkPHP前期环境搭建 下载thinkPHP文件 解压,将framework关键文件放到think-5.0.15中,改…...

MySQL 迁移 OceanBase 的 Oracle模式中,实现自增主键的方法

本文作者:赵黎明,爱可生 MySQL DBA 团队成员,熟练掌握Oracle、MySQL等数据库系统,擅长对数据库性能问题的诊断,以及事务与锁机制的分析等。负责解决客户在MySQL及爱可生自主研发的DMP平台日常运维中所遇到的各种问题&a…...

【C++ 面试 - 基础题】每日 3 题(十一)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…...

ESP8266在线升级OTA固件

OTA的基本实现方式: ESP8266 的 OTA 实现有几种方式,常用的方式包括: 1、Arduino OTA:使用Arduino IDE提供的OTA功能,可以直接通过Arduino IDE上传固件到ESP8266。 2、Web OTA:ESP8266运行一个简易的Web服…...

精通C++ STL(六):list的模拟实现

目录 类及其成员函数接口总览 结点类的模拟实现 构造函数 迭代器类的模拟实现 迭代器类存在的意义 迭代器类的模板参数说明 构造函数 运算符的重载 --运算符的重载 运算符的重载 !运算符的重载 *运算符的重载 ->运算符的重载 list的模拟实现 默认成员函数 构造函数 拷贝…...

《雅思口语真经总纲1.0》话题实战训练笔记part1——6. Music

《雅思口语真经总纲1.0》笔记——第四章:口语素材大全(part1、part2、part3回答准则及练习方法,不包括范例答案)★★★★★ 文章目录 MusicWhen do you listen to music?20240804答评价注意事项1、在说到“no music”时&#xff…...

Python之赋值语句(多重赋值和交换赋值)

这是《Python入门经典以解决计算问题为导向的Python编程实践》73-74页关于赋值的内容。讲了Python中几种赋值方式。 赋值语句 1、最简单的赋值:ab2、多重赋值:a,b,c1,2,33、交换:a,bb,a 1、最简单的赋值:ab b可以是数字、字符串…...

网络协议七 应用层 HTTP 协议

应用层常见的协议 HTTP协议 1. 如何查看我们的http 协议全部的内容有哪些呢? 一种合理的方法是 通过 wireshark 软件,找到想要查看的HTTP --->追踪流--->HTTP流 来查看 结果如下:红色部分 为 发送给服务器的,蓝色部分为服务…...

uniapp vue 在适配百度小程序平台动态:style

uniapp vue 在适配百度小程序平台动态:style踩坑报错Unexpected string concatenation of literals 抖快平台动态style写法基本是 <view :style"{width: 686rpx, height: (setHeight 96) rpx}"> </view>这种写法在百度上会又解析报错&#xff1a; Une…...

【最小生成树】(二) Kruskal 算法

题目: 寻宝 题目描述 在世界的某个区域&#xff0c;有一些分散的神秘岛屿&#xff0c;每个岛屿上都有一种珍稀的资源或者宝藏。国王打算在这些岛屿上建公路&#xff0c;方便运输。 不同岛屿之间&#xff0c;路途距离不同&#xff0c;国王希望你可以规划建公路的方案&#xf…...

haproxy最强攻略

1、负载均衡 负载均衡&#xff08;Load Balance&#xff0c;简称 LB&#xff09;是高并发、高可用系统必不可少的关键组件&#xff0c;目标是 尽力将网络流量平均分发到多个服务器上&#xff0c;以提高系统整体的响应速度和可用性。 负载均衡的主要作用如下&#xff1a; 高并发…...

XetHub 加入 Hugging Face!

我们非常激动地正式宣布&#xff0c;Hugging Face 已收购 XetHub &#x1f525; XetHub 是一家位于西雅图的公司&#xff0c;由 Yucheng Low、Ajit Banerjee 和 Rajat Arya 创立&#xff0c;他们之前在 Apple 工作&#xff0c;构建和扩展了 Apple 的内部机器学习基础设施。XetH…...

从GD32F103到F407升级指南:除了以太网和摄像头,这些‘隐性’升级点更值得关注

GD32F103到F407升级实战&#xff1a;揭秘那些数据手册没告诉你的关键差异 当项目需求从简单的控制逻辑升级到需要处理以太网通信、图像采集或复杂算法时&#xff0c;许多工程师会自然地将目光投向GD32F407系列。表面上看&#xff0c;F407相比F103最直观的变化是主频从108MHz提升…...

GraphViz+CANdelaStudio实战:如何可视化你的State Diagram状态转换图

GraphVizCANdelaStudio实战&#xff1a;如何可视化你的State Diagram状态转换图 在汽车电子开发领域&#xff0c;状态机的设计和验证是核心工作之一。当你在CANdelaStudio中精心设计了复杂的状态转换逻辑后&#xff0c;如何让这些抽象的状态关系变得直观可理解&#xff1f;这就…...

FastLED库深度解析:嵌入式RGB LED驱动与实时色彩处理

1. FastLED 库深度技术解析&#xff1a;面向嵌入式工程师的高性能RGB LED驱动与信号处理框架 FastLED 是一个在嵌入式LED控制领域具有里程碑意义的开源库。它远不止是一个简单的“点亮LED”的工具包&#xff0c;而是一套融合了底层硬件时序控制、高精度色彩数学运算、跨平台抽象…...

STM32开发库对比:寄存器、SPL、HAL与LL深度解析

1. STM32开发库全景解析&#xff1a;从寄存器到HAL/LL的深度对比从事嵌入式开发这些年&#xff0c;我见证了STM32生态系统的快速演进。记得刚接触STM32F103时&#xff0c;标准外设库还是主流选择&#xff0c;如今Cube生态已成标配。本文将结合我的实际项目经验&#xff0c;详细…...

RVC快速体验:无需复杂配置,轻松玩转语音变声

RVC快速体验&#xff1a;无需复杂配置&#xff0c;轻松玩转语音变声 1. RVC简介与核心功能 RVC&#xff08;Retrieval-based Voice Conversion&#xff09;是一款基于检索的语音转换工具&#xff0c;它能够将输入的语音快速转换为目标音色。与传统的语音转换技术相比&#xf…...

开源抽卡模拟器:浏览器中的原神资源策略实验室

开源抽卡模拟器&#xff1a;浏览器中的原神资源策略实验室 【免费下载链接】Genshin-Impact-Wish-Simulator Best Genshin Impact Wish Simulator Website, no need to download, 100% running on browser! 项目地址: https://gitcode.com/gh_mirrors/gen/Genshin-Impact-Wis…...

SynapseML计算机视觉实战:OpenCV与深度学习模型结合的终极指南

SynapseML计算机视觉实战&#xff1a;OpenCV与深度学习模型结合的终极指南 【免费下载链接】SynapseML Simple and Distributed Machine Learning 项目地址: https://gitcode.com/gh_mirrors/sy/SynapseML SynapseML是一个强大的分布式机器学习框架&#xff0c;它将Open…...

如何快速上手libcds:10分钟掌握并发数据结构基础

如何快速上手libcds&#xff1a;10分钟掌握并发数据结构基础 【免费下载链接】libcds A C library of Concurrent Data Structures 项目地址: https://gitcode.com/gh_mirrors/li/libcds libcds是一个强大的C并发数据结构库&#xff0c;专为多线程环境设计&#xff0c;提…...

利用快马平台快速原型:五分钟构建你的第一个multisim风格电路仿真器

最近在尝试电路设计时&#xff0c;发现从构思到实际验证往往需要花费大量时间搭建仿真环境。传统方式需要安装专业软件、配置参数&#xff0c;整个过程相当繁琐。直到尝试了InsCode(快马)平台&#xff0c;发现它特别适合用来做电路设计的快速原型验证。下面分享如何用五分钟构建…...

普通阿里234滑块分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 有相关问题请第一时间头像私信联系我删…...