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

哈希和加密

文章目录

  • 加密解密
    • 对称加密
    • 不对称加密
    • Fernet.generate_key()
    • f.encrypt()
    • f.decrypt(token)
    • rsa非对称加密

https://www.byhy.net/py/lang/etc/hash_encrypt/#_4

加密解密

对称加密

加密和解密使用同一个密钥
在这里插入图片描述

不对称加密

使用一对密钥:公钥(public key)+ 私钥(private key)

公钥加密,私钥解密(典型场景)

或者 私钥签名,公钥验证(数字签名场景)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Fernet.generate_key()

Fernet.generate_key() 会生成一个随机的密钥(Base64 编码的字节串)。

Fernet(key) 用这个密钥创建一个加密器对象 f。

这个密钥非常重要,加密和解密都要用它(对称加密的特点)。

f.encrypt()

f.encrypt() 使用密钥对 srcBytes 进行加密。

返回的是加密后的 字节串,里面包含:

加密后的数据

时间戳(保证 token 有效性,可以配置过期时间)

签名(保证完整性,防篡改)

f.decrypt(token)

f.decrypt() 用同样的密钥把 token 解密回来。

返回的还是字节串 → .decode() 转回字符串。
在这里插入图片描述

rsa非对称加密

from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.primitives import serialization, hashes# 1️⃣ 生成一对密钥 (公钥 + 私钥)
private_key = rsa.generate_private_key(public_exponent=65537,key_size=2048
)
public_key = private_key.public_key()# 2️⃣ 原始消息
message = "非对称加密真的很神奇!".encode()# 3️⃣ 使用 公钥 加密
ciphertext = public_key.encrypt(message,padding.OAEP(                 # 填充方式 (常用 OAEP)mgf=padding.MGF1(algorithm=hashes.SHA256()),algorithm=hashes.SHA256(),label=None)
)
print("密文:", ciphertext)# 4️⃣ 使用 私钥 解密
plaintext = private_key.decrypt(ciphertext,padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()),algorithm=hashes.SHA256(),label=None)
)
print("解密结果:", plaintext.decode())

在这里插入图片描述

http://www.dtcms.com/a/435757.html

相关文章:

  • 济南seo网站排名优化工具公司简介宣传文案
  • 正规的网站优化推广公司广告牌模板图片
  • 那家公司做网站比较好微信公众号文章 转wordpress
  • 龙岗网站设计资讯怎么做素材设计网站
  • FastAPI 深度剖析:从异步原理到高级应用
  • AIGC(生成式AI)试用 37 -- 辅助测试 Browser-use, Playwright
  • 做视频网站收入wordpress与discuz整合
  • oracle 网站开发箱包商城网站建设
  • [crackme]018-crackme_0006
  • 滨海专业做网站wordpress博客分页
  • 如何做衣服销售网站淄博网站制作制作
  • 东台建设局网站公司信息查询网
  • 建站套餐和定制网站的区别2013电子商务网站建设考试试卷
  • 中山币做网站公司网站的建设不包括什么
  • CSP 复赛入门组高频算法:典型例题、代码模板与实战题号
  • 做网站需要哪些准备工作心得体会简短的
  • 基础建设文本网站阿里云1M做网站
  • 江苏建设工程信息网站网站的设计页面
  • 网站建设工作基本流程做二手网站赚钱不
  • 嵌入式学习笔记5.定时器TIM
  • 博达高校网站群建设教程家在临深业主论坛家在深圳
  • 两学一做网站网站网站开发前端库
  • 模型轻量化三大核心技术之:蒸馏
  • 备案关闭网站建设影响淮南最新通告今天
  • 购物网站怎么建立门户类网站模板
  • 昭通微网站建设wordpress 只显示标题
  • 数据结构从入门到实战————队列
  • 微信二维码网站制作固原网络推广
  • 丢弃法-Dropout
  • 1.多线程基础概念