当前位置: 首页 > 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格式。    

                

http://www.lryc.cn/news/421451.html

相关文章:

  • 【Python学习手册(第四版)】学习笔记19-函数的高级话题
  • Selenium + Python 自动化测试11(unittest组织用例)
  • 【唐氏题目 nt题】与众不同
  • 2000块的活嫌低?这个 6 位数的项目,你可不能错过哟!
  • 【Postman工具】
  • 全网超详细攻略-从入门到精通haproxy七层代理
  • AI编程辅助工具:CodeGeeX 插件使用
  • sql注入实战——thinkPHP
  • MySQL 迁移 OceanBase 的 Oracle模式中,实现自增主键的方法
  • 【C++ 面试 - 基础题】每日 3 题(十一)
  • ESP8266在线升级OTA固件
  • 精通C++ STL(六):list的模拟实现
  • 《雅思口语真经总纲1.0》话题实战训练笔记part1——6. Music
  • Python之赋值语句(多重赋值和交换赋值)
  • 网络协议七 应用层 HTTP 协议
  • uniapp vue 在适配百度小程序平台动态:style
  • 【最小生成树】(二) Kruskal 算法
  • haproxy最强攻略
  • XetHub 加入 Hugging Face!
  • 在编程学习的海洋中,如何打造高效的知识宝库
  • string详解(1)
  • Linux云计算 |【第二阶段】NETWORK-DAY4
  • amazon linux使用密码登录或者root登陆
  • 集智书童 | CNN 与 Transformer 的强强联合:AResNet-ViT在图像分析中的优势 !
  • Ubuntu基础使用指南
  • 怎样才算精通 Excel?
  • 怎么学算法并找到工作
  • 【实时建图】MapTR(1)------ 论文详解
  • 通用Builder工具类
  • 开源免费的海报设计器vue-fabric-editor