python语言day5 MD5 json

news2024/9/19 18:24:48

        md5:

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

                             注册:   

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

                                使用md5加密 密码;

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

                             登录:

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

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

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

import hashlib


def 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 content


if __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:
            continue
        if (index % 2 != 0):
            if pwd == item:
                if (user == data_list[index - 1]):
                    print("登陆成功")
                    break
        print("循环",index)

         md5加盐:

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

                 例如 :

                      密文:  900150983cd24fb0d6963f7d28e17f72

                      加盐: 900150983cd24fb0d6963f7d28e17f72a

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

json:

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

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

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

                                

import requests

res = 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格式。    

                

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2035216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

访问网站显示不安全打不开怎么办如何处理

当访问网站时浏览器提示“不安全”,这通常是由于多种原因造成的。下面是一些常见的原因及其解决办法: 未启用HTTPS协议 如果网站仅使用HTTP协议,数据传输没有加密,会被浏览器标记为“不安全”。解决办法是启用HTTPS协议&#xff…

vue3-02-vue3中的组件通信

目录 组件通信一、vue3组件通信和vue2的区别二、父子通信2.1 props通信1)父→子传递数据(父组件向子组件传递数据)2)子→父传递数据 2.2 v-model1)v-model的本质2)给modelValue起别名3)$event 2…

【资源】wordpress 子比主题

简介 子比主题是一款功能强大的WordPress主题模板,支持社区论坛、商城、支付、古腾堡编辑器等多种功能。很多资源类网站都是基于此搭建的。搭建后的效果基本上和官网一致,可查看官网的演示效果。 官方网站:https://www.zibll.com/ 如要获取…

精酿啤酒的酿造过程 你喝的不仅仅是酒

大家下午好呀!今天我要带大家一起探索精酿啤酒的神秘世界!🌟🌟 第一步:原料准备 精酿啤酒的四大原料:麦芽、啤酒花、水和酵母。 别小看这些原料,它们的品质直接决定了啤酒的风味。🌾…

网络协议七 应用层 HTTP 协议

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

【Qt开发】QtCharts图表——在ui上添加QChartView控件并进行绘图配置

【Qt开发】QtCharts图表——在ui上添加QChartView控件并进行绘图配置 文章目录 控件安装和模块导入在ui上添加QChartView控件QChartView图表配置附录:C语言到C的入门知识点(主要适用于C语言精通到Qt的C开发入门)C语言与C的不同C中写C语言代码…

Stable Diffusion 必备插件推荐,菜鸟轻松成高手!

前言 一个刚学AI绘画的小菜鸟如何快速成为Stable Diffusion高手?答案就是SD插件。 只要学会使用SD的各种插件,帮你写正向和负向提示词,修复人脸/身体/手指,高清放大图片,指定人物pose,图片微调等等都可以…

YOLO系列算法解析

一、深度学习算法概述 1、不同阶段算法优缺点分析 One-stage: 优点:速度非常快,适合做实时监测任务 缺点:效果通常不好 2、yolo评价指标 yolo评价指标:map和fps Map指标:综合衡量检测效果 精度:识别准确率…

代码随想录 day 37 动态规划

第九章 动态规划 part05 力扣上没有纯粹的完全背包的题目,我在卡码网上制作了题目,大家可以去做一做,题目链接在下面的文章链接里。 后面的两道题目,都是完全背包的应用,做做感受一下 完全背包 视频讲解&#xff1a…

这些错误都没遇到过,还敢说你做过自动化测试?!

在执行冒烟测试、回归测试或多浏览器兼容性测试时,利用web自动化测试可以显著节省人力成本,因此web自动化测试的价值非常大。然而,任何从事过web自动化测试的人都会有这样的体会:写自动化代码相对简单,但维护的成本却非常高。一日…

若依服务器上云部署

准备条件: 安装好mysql和redis并配置好密码。 1.安装JDK,我这里使用的是1.8 wget --no-check-certificate --no-cookies --header "Cookie: oraclelicenseaccept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11…

40 - asctime()函数

文章目录 1 函数原型2 参数3 返回值4 示例4.1 示例14.2 示例2 1 函数原型 asctime():时间类型转换,函数原型如下: char* asctime (const struct tm * timeptr);ctime()库描述如下: Convert tm structure to string 1. Interpre…

MySQL4 多表查询 内连接

内连接 多表查询内连接 多表查询 数据准备 CREATE DATABASE db4; USE db4; -- 创建部门表 create table if not exists dept(deptno varchar(20) primary key , -- 部门号name varchar(20) -- 部门名字 );-- 创建员工表 create table if not exists emp(eid varchar(20) pr…

【文件IO】文件系统操作

文章目录 基本操作概述1. 文件属性2. 文件构造方法3. 文件方法1. 文件创建2. 文件删除3. 查看目录下所有的文件名4. 遍历目录5. 创建目录5. 目录重命名 基本操作概述 创建文件删除文件创建目录重命名文件判定文件存在… Java 中,提供了一个 File 类,进…

电商平台的推荐算法需要备案吗?

答案是肯定的! 政策要求: 根据我国《互联网信息服务算法推荐管理规定》(以下简称《规定》)第六条,具有舆论属性或社会动员能力的互联网信息服务,包括电商平台的推荐算法,需要进行备案。 电商平…

使用js和css 实现div旋转围绕圆分布排列

记录,以防忘记 围绕圆 import React, { useEffect } from react; import ./index.scoped.scss;const Test () > {const arr Array.from({ length: 28 }, (_, index) > index 1);useEffect(() > {const dayTotal arr.length;// 动态设置每个点的旋转角…

快速找出问题快件:批量查询与筛选技巧

在日常生活中,我们经常需要查询大量的快递信息。尤其在电商、物流等行业,快速、准确地查询和筛选快递信息至关重要。固乔快递查询助手是一款强大的工具,能帮助用户批量查询快递,并快速筛选出问题快件。下面我们将详细介绍如何使用…

opengl创建柱面和鱼眼重展uv

专业软件 先看一下专业软件 可以拉取很多的uv点 以下是使用 OpenGL 创建不规则面片并指定 UV 的一般步骤: 1 顶点数据准备 2 定义面片的顶点坐标。这些顶点构成了面片的形状。 3 为每个顶点指定对应的纹理坐标(UV)。 4 创建顶点缓冲区对象…

Springboot整合hutool验证码

在 Spring Boot 中&#xff0c;你可以将 Hutool 生成验证码的功能集成到 RESTful API 接口中。 依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.14</version> <!-- 使用最新版…

EF Core 索引器属性(Indexer property)场景及应用

EF Core 索引器属性&#xff08;Indexer property&#xff09;场景及应用 简介 EF Core 中的索引器属性&#xff08;Indexer Property&#xff09;是指通过一个特殊的属性来访问实体类中的数据&#xff0c;而不必明确声明实体属性。这种属性在一些动态或未预定义的场景中非常…