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

4.8 加密模块

加密模块:

        加密"zhangsan  123" --- 加密 --- "sjakdkasjdasjd"

        - 对称加密:加密和解密用同一个密钥

        - 非对称加密:加密和解密用不同密钥(公钥 私钥)

       

        -可逆加密(可以解密)和不可逆加密(不能解密) 哈希算法: md5

        hashlib 用于计算各种哈希值的模块

        hmac 是用于生成基于密钥的消息认证码的模块。

import hashlib

'''

    encode:确定编码格式,因为计算机只能识别二进制数据,所以需要把文本字符转换为二进制形式。常见的文本编码格式有 ASCII(多处理英文)、UTF - 8(多语言)、GBK(中文) 等。

    盐值 slat (一段字符串) : 在存储用户密码时,通常会为每个用户生成一个唯一的盐值。当用户注册时,系统会生成一个随机盐值,将其与用户输入的密码拼接在一起,

                    然后对拼接后的结果进行哈希处理,最后将盐值和哈希值一同存储在数据库中。当用户登录时,系统会从数据库中取出对应的盐值,

                    再次与用户输入的密码拼接并进行哈希处理,将得到的哈希值与数据库中存储的哈希值进行比较,以此来验证密码的正确性。

'''

username = "wzw"

password = "12345"

username_md5 = hashlib.md5(username.encode("utf-8"))        #加密

slat = "%%$&&!!"    #加盐

# update:更新哈希对象内容

username_md5.update(slat.encode("utf-8"))          

# hexdigest: 二进制哈希值转换为了十六进制字符串。

print(username_md5.hexdigest())             #97f58401d4bc3470940715c843e43317      



 

import hmac

# new: 创建一个新的函数。

res1 = hmac.new(username.encode("utf-8"),slat.encode("utf-8"),"md5").hexdigest()

res2 = hmac.new("zhangsan".encode("utf-8"),slat.encode("utf-8"),"md5").hexdigest()

print(res1)         #fca70ee6559e3a39c66fd8939e31311c

print(res2)         #83dfbacc55a4f80f454623460498233d

http://www.xdnf.cn/news/7831.html

相关文章:

  • 无人机报警器360°检测技术分析!
  • 先验知识融合机器学习的几种方式
  • VentureBeat AI 最新资讯 (2025-05-19)
  • NVM安装使用及问题解决
  • Semaphore解决高并发场景下的有限资源的并发访问问题
  • 整型数相加的溢出
  • Python的蚁群优化算法实现与多维函数优化实战
  • 【Java高阶面经:微服务篇】1.微服务架构核心:服务注册与发现之AP vs CP选型全攻略
  • C语言指针深入详解(五):回调函数、qsort函数
  • 卡片布局自适应
  • c语言刷题之实际问题
  • 一文读懂|大模型智能体互操作协议:MCP/ACP/A2A/ANP
  • Redis学习专题(三)主从复制
  • 单端IO和差分IO标准
  • 《Metasploit框架核心模块解析与安全防护实践》​
  • 树 Part 6
  • 2025年PMP 学习二十二 15章 项目绩效域
  • BUUCTF——Kookie
  • FEKO许可证与其他电磁仿真软件的比较
  • 《算法笔记》11.1小节——动态规划专题->动态规划的递归写法和递推写法 问题 A: Fibonacci
  • 嵌入式自学第二十四天(5.20)
  • Stack Queue
  • AI智能体-Coze文本知识库-飞书文档数据提取
  • LLM大模型工具链
  • NHANES最新指标推荐:NHR
  • Python 中的类属性与实例属性详解
  • 【isaac sim-15】具身仿真-你的第一个机械臂程序---
  • 什么是库存预警系统,如何搭建自动化库存预警系统
  • AGI大模型(29):LangChain Model模型
  • 深入理解MySQL结构与执行流程