python加密算法

常用的加密算法说明

  • 单向加密(不可解密):md5,sha
  • 对称加密(加密与解密秘钥是一样的):AES,DES
  • 非对称加密(有公钥和私钥):RSA,DSA
  • base64算法:不是加密,它是编码解码

md5加密

import hashlib
# 传入需要加密的数据
data="test_data"
md = hashlib.md5()
md.update(data.encode("utf8"))
print(md.hexdigest())

sha1加密

import hashlib
# 传入需要加密的数据
data="test_data"
sha = hashlib.sha1()
sha.update(data.encode('utf-8')) 
print(sha.hexdigest())

des加密

# 前端提交的数据加密,请求体中加密---》一般使用AES,DES---》要在后端解密# pip3 install pycryptodomex
# DES是一个分组加密算法,典型的DES以64位为分组对数据加密,加密和解密用的是同一个算法。它的密钥长度是56位(因为每个第8 位都用作奇偶校验),密钥可以是任意的56位的数,而且可以任意时候改变。from Cryptodome.Cipher import DES
key = b'12345678'
data = "test_data"
count = 8 - (len(data) % 8)
plaintext = data + count * "="
des = DES.new(key, DES.MODE_ECB)
#加密
ciphertext = des.encrypt(plaintext.encode())
print(ciphertext)
#解密
plaintext = des.decrypt(ciphertext)
plaintext = plaintext[:(len(plaintext)-count)]
print(plaintext)

RSA加密

# 安装模块
# pip3 install rsaimport rsa
# 返回 公钥加密 私钥解密
public_key, private_key = rsa.newkeys(1024)
print(public_key)
print(private_key)# 传入数据
plaintext = b"test_data"# 公钥加密
ciphertext = rsa.encrypt(plaintext, public_key)  
print('公钥加密:',ciphertext)# 私钥解密
plaintext = rsa.decrypt(ciphertext, private_key) 
print('私钥解密:',plaintext)### 使用私钥签名
plaintext = b"test_data"
sign_message = rsa.sign(plaintext, private_key, "MD5")
print('私钥签名后:',sign_message)## 验证私钥签名
plaintext = b"test_data"
method = rsa.verify(b"test_data", sign_message, public_key)
print(method)

base64编码和解码

# 看到结尾有 =  就是base64编码
# base64编码的长度:需为4的倍数,如果不是4的倍数,会自动使用=补齐
# 所以结尾的 = 不会超过3个
import base64
# 编码
res=base64.b64encode(b'test_data1')  # dGVzdF9kYXRhMQ==
print(res)
# 解码
res=base64.b64decode('dGVzdF9kYXRhMQ==')
print(res)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序配置文件 —— 12 全局配置 - pages配置

全局配置 - pages配置 在根目录下的 app.json 文件中有一个 pages 字段,这里我们介绍一下 pages 字段的具体用法; pages 字段:用来指定小程序由哪些页面组成,用来让小程序知道由哪些页面组成以及页面定义在哪个目录,…

正则表达式 - 使用总结

以下列出了一些常用正则表达式的使用总结: 匹配基本字符 使用普通字符匹配:普通字符(如字母、数字、符号)在正则表达式中表示自身,例如匹配 "runoob":/runoob/。 使用元字符 . 匹配任意字符&…

OpenCV计算机视觉 03 椒盐噪声的添加与常见的平滑处理方式(均值、方框、高斯、中值)

上一篇文章:OpenCV计算机视觉 02 图片修改 图像运算 边缘填充 阈值处理 目录 添加椒盐噪声 图像平滑常见处理方式 均值滤波 (blur) 方框滤波 (boxFilter) ​高斯滤波 (GaussianBlur) 中值滤波 (medianBlur) 添加椒盐噪声 def add_peppersalt_noise(image, n…

告别 $arr[0]: PHP 和 Laravel 中更优雅的数组处理方式

你是否曾经历过这样的惊魂时刻:线上代码突然崩溃,只因访问了一个不存在的数组元素?或者更糟的是,应用开始疯狂抛出错误,而你却毫无头绪?这一切的罪魁祸首可能就是看似人畜无害的硬编码数组索引,…

uniapp 微信小程序 数据空白展示组件

效果图 html <template><view class"nodata"><view class""><image class"nodataimg":src"$publicfun.locaAndHttp()?localUrl:$publicfun.httpUrlImg(httUrl)"mode"aspectFit"></image>&l…

【开源免费】基于SpringBoot+Vue.JS网上摄影工作室系统(JAVA毕业设计)

本文项目编号 T 103 &#xff0c;文末自助获取源码 \color{red}{T103&#xff0c;文末自助获取源码} T103&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

SOEM裸机移植

源码地址 https://gitee.com/rathon/apollof429-v2.git 还有一些移植细节可以参考我之前写的一些博客 硬件平台&#xff1a; 正点原子APOLLOF429V2开发板 开发环境 stm32cubemx6.2.0版本&#xff0c;用的库为STM32Cube_FW_F4_V1.26.2&#xff0c;开发软件为STM32cubeide …

智慧地下采矿:可视化引领未来矿业管理

图扑智慧地下采矿可视化平台通过整合多源数据&#xff0c;提供实时 3D 矿井地图及分析&#xff0c;提升了矿产开采的安全性与效率&#xff0c;为矿业管理提供数据驱动的智能决策支持&#xff0c;推动行业数字化转型。

基于Docker+模拟器的Appium自动化测试(二)

模拟器的设置 打开“夜神模拟器”的系统设置&#xff0c;切换到“手机与网络”页&#xff0c;选中网络设置下的“开启网络连接”和“开启网络桥接模式”复选框&#xff0c;而后选择“静态IP”单选框&#xff0c;在IP地址中输入“192.168.0.105”&#xff0c;网关等内容不再赘述…

紫光同创-盘古200pro+开发板

本原创文章由深圳市小眼睛科技有限公司创作&#xff0c;版权归本公司所有&#xff0c;如需转载&#xff0c;需授权并注明出处&#xff08;www.meyesemi.com) 一、开发系统介绍 开发系统概述 MES2L676-200HP 开发板采用紫光同创 logos2 系列 FPGA&#xff0c;型号&#xff1a;…

Rofin罗芬激光Principle and Advantages原理讲解PPT软件使用

Rofin罗芬激光Principle and Advantages原理讲解PPT软件使用

import org.springframework.data.jpa.repository.JpaRepository<T, ID>;

org.springframework.data.jpa.repository.JpaRepository<T, ID> 接口中的 ID 类型参数。 理解 JpaRepository<T, ID> 中的 T 和 ID&#xff1a; T (Type): T 代表的是你想要操作的 实体类 的类型。例如&#xff0c;如果你有一个名为 User 的实体类&#xff0c;那…

docker项目部署流程(Vue+Spingboot)

文章目录 1.docker安装(Ubuntu)1.卸载原有的docker引擎和旧版本软件包(第一次使用跳过)2.使用存储库安装apt 2.安装nginx并运行3.安装Mysql4.构建jdk镜像1.准备条件(3样东西)拉取ubuntu镜像DockerfileDockerfile简洁版 2.构建java镜像3.创建并运行java容器 5.网络配置1.自定义网…

《童年-高尔基》阅读笔记

《童年-高尔基》阅读笔记 2024-12-29日读完&#xff0c;在图书馆的书架上&#xff0c;大批的厚厚的外国文学书&#xff0c;只有这本薄薄的&#xff0c;我就拿下来看了一下&#xff0c;发现这本书就是初中就在语文课本中提到的自传体三部曲之一&#xff0c;其他两本是《在人间》…

fpga系列 HDL:ModelSim显示模拟波形以及十进制格式数值

FPGA中使用数字滤波器时&#xff0c;可通过观察模拟波形更好地查看滤波效果。可以通过ModelSim中的波形格式设置来实现更直观的波形显示。 右键波形->Format-> Analog 效果 不同的数值格式显示&#xff1a;右键波形->Radix-> Decimal 效果 示例代码 ver…

AI大模型语音识别转文字

提取音频 本项目作用在于将常见的会议录音文件、各种语种音频文件进行转录成相应的文字&#xff0c;也可从特定视频中提取对应音频进行转录程文字保存在本地。最原始的从所给网址下载对应视频和音频进行处理。下载ffmpeg(https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-…

《计算机组成及汇编语言原理》阅读笔记:p128-p132

《计算机组成及汇编语言原理》学习第 10 天&#xff0c;p128-p132 总结&#xff0c;总计 5 页。 一、技术总结 1.8088 organization and architecture 8088处理器是16位电脑&#xff0c;寄存器是16位&#xff0c;数据总线(data bus)是8位&#xff0c;地址总线是20位。 (1)g…

【ArcGIS Pro】完整的nc文件整理表格模型构建流程及工具练习数据分享

学术科研啥的要用到很多数据&#xff0c;nc文件融合了时间空间数据是科研重要文件。之前分享过怎样将nc文件处理成栅格后整理成表格。小编的读者还是有跑不通整个流程的&#xff0c;再来做一篇总结篇&#xff0c;也分享下练习数据跟工具&#xff0c;如果还是弄不了的&#xff0…

安装了python,环境变量也设置了,但是输入python不报错也没反应是为什么?window的锅!

目录 问题 结论总结 衍生问题 1 第1步&#xff1a;小白python安装&#xff0c;不要埋头一直点下一步&#xff01;&#xff01;&#xff01; 2 第2步&#xff1a;可以选择删了之前的&#xff0c;重新安装python 3 第3步&#xff1a;如果你不想或不能删了重装python&#…

图像处理-Ch7-快速小波变换和小波包

个人博客&#xff01;无广告观看&#xff0c;因为这节内容太多了&#xff0c;有点放不下&#xff0c;分了三节 文章目录 快速小波变换(The Fast Wavelet Transform)与两频段子带编译码系统的关系例&#xff1a;计算一维小波变换 一维快速小波反变换例&#xff1a;计算一维小波…