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

DES对称加密算法实操(python)

DES机密算法:
        DES是⼀种对称加密算法。它使⽤相同的密钥进⾏加密和解密操作。 DES 算法将明⽂数据分成 64 位的块,然后通过⼀系列复杂的置换、替换和循环操作,使⽤56 位的密钥(实际密钥⻓度为 64 位, 但其中8 位⽤于奇偶校验)对数据块进⾏加密,得到密⽂。这种对称加密算法的特点是加密和解密 速度相对较快,但密钥管理⽐较复杂。
Ubuntu的OS演示:
1. 安装相关包管理工具和调用库工具:
sudo apt install python3-pip
sudo pip install pydes
解释安装包作用:apt install python3-pip:apt是 Debian、Ubuntu 等基于 Debian 的 Linux 发行版
中的包管理工具,用于从软件源中获取、安装、升级和卸载软件包。python3-pip 是提供Python 3 版本的pip包管理器的软件包。apt install python3-pip 这条命令的作用是
通过apt包管理器,在系统中下载并安装 Python 3 的pip包管理器 。安装完成后,就可以
使用pip(一般用pip3 ,确保使用的是 Python 3 对应的pip )命令来安装、升级、卸载Python 包,以及管理 Python 包的版本等操作。pip install pydes:pip是 Python 的包管理工具,用于从 Python 包索引(PyPI)或
其他源中获取并安装 Python 包。pydes 是一个 Python 库,它实现了 DES(数据加密
标准)算法,可用于对数据进行加密和解密 。pip install pydes 这条命令的作用是使用
pip工具,从软件源(默认是 PyPI )中下载并安装pydes库。安装完成后,在 Python 代码
中就可以导入pydes库,调用其相关函数和类,来实现对数据的加密和解密功能。

2.编写加密代码,执行,得到加密过后的密文。


## 加密代码
root@chaoyuan:~# cat pydes.py 
import pyDes
key = b"abcdefgh"
des = pyDes.des(key, pyDes.ECB, padmode=pyDes.PAD_PKCS5)
plain_text = b"Hello, World! chaoyuan666"
cipher_text = des.encrypt(plain_text)
print("密⽂:", cipher_text)## 执行加密代码,得到加密过后的密文
root@chaoyuan:~# python3 pydes.py 
密⽂: b'>\xe3\xcb\xec//1\x08\x18\xdd\x8cn\xdf_LH\x10b\x17\x08\xef\x89\xf0\x1eY\x98\x7f2\xc0d\xa2_'

3.编写解密代码,执行,得到解密过后的明文。

root@chaoyuan:~# vi decrypt.py 
root@chaoyuan:~# cat decrypt.py 
import pyDes
# 加密时使⽤的密钥,需为8字节
key = b"abcdefgh"
# 初始化DES对象,采⽤ECB模式与PKCS5填充模式
des = pyDes.des(key, pyDes.ECB, padmode=pyDes.PAD_PKCS5) 
# 假设这是之前加密得到的密⽂
cipher_text = b'>\xe3\xcb\xec//1\x08\x18\xdd\x8cn\xdf_LH\x10b\x17\x08\xef\x89\xf0\x1eY\x98\x7f2\xc0d\xa2_'
# 进⾏解密
plain_text = des.decrypt(cipher_text) 
print("明⽂:", plain_text.decode())
root@chaoyuan:~# python3 decrypt.py 
明⽂: Hello, World! chaoyuan666

4. 最终成功得到了最初的明文:Hello, World! chaoyuan666,说明连接成功。

相关文章:

  • 入门-C编程基础部分:4、数据类型
  • 【力扣】day1
  • 第十一章 网络编程
  • 【设计模式】适配器模式:让不兼容的接口和谐共处
  • java开发中的设计模式之工厂模式
  • 设计模式:命令模式-解耦请求与执行的完美方案
  • DB-GPT 最新0.7.0版本Windows 部署
  • Differentiable Micro-Mesh Construction 论文阅读
  • 龙虎榜——20250415
  • centos时间不正确解决
  • GPTNet如何革新创意与效率
  • 本地实现Rtsp视频流推送
  • 树莓派学习专题<5>:使用V4L2驱动获取摄像头数据--概览
  • 多模态大模型MLLM基础训练范式 Pre-train + Instruction FineTuning
  • GPT-4o Image Generation Capabilities: An Empirical Study
  • [区块链] 持久化运行区块链 | 并通过HTTP访问
  • Visio绘图工具全面科普:解锁专业图表绘制新境界[特殊字符]
  • 安装fvm可以让电脑同时管理多个版本的flutter、flutter常用命令、vscode连接模拟器
  • 3款顶流云电脑与传统电脑性能PK战:START云游戏/无影云/ToDesk云电脑谁更流畅?
  • vue3中的新特性
  • 银川市市长信箱被指已读乱回,官方回应
  • 为国出征指纹却无法识别?他刷新了我军在这一项目的最好成绩
  • 财政部:前3月国有企业利润总额10907.4亿元,同比增1.7%
  • 现场|贝聿铭上海大展:回到他建筑梦的初始之地
  • 国新办发布会丨2024年市监部门查办知产领域侵权行政违法案件4.4万件
  • 机票搜索热度飙升,透过数据看五一假期旅游热度