首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用Python字符串的编码与解码方法实现信息加解密

使用Python字符串的编码与解码方法实现信息加解密

作者头像
Python小屋屋主
发布于 2018-04-16 08:34:39
发布于 2018-04-16 08:34:39
1.1K0
举报
文章被收录于专栏:Python小屋Python小屋

代码思路很简单,字符串的encode()方法可以将其编码为字节串,在生成的字节串中插入干扰字节后无法正常解码,要想还原信息,必须清楚干扰字节的位置并删除后再使用decode()解码。本文代码重点在于演示字符串方法和内置函数bytes()的用法,加密算法本身并不具有抗攻击性,很容易被破解。

def encrypt(message, k=3): #使用UTF8编码为字节串 m = message.encode() result = [] #切分,3个字节一组 for i in range(0, len(m), k): result.append(m[i:i+k]) #在每组中间插入干扰字节 #不过这样太明显了 #可以改为增加不同的随机字节 return b'\xf5'.join(result)

def decrypt(message, k=3): #把二进制串转换为数字列表 m = list(message) #删除干扰字节 del m[k::k+1] #转换为字节串并解码返回 return bytes(m).decode()

p = '中文测试。This is a test. 12345' c = encrypt(p,5) print(decrypt(c,5))

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-02-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何使用RSA 对数据加解密和签名验签?一篇文章带你搞定
加密是指利用某个值(密钥)对明文的数据通过一定的算法变换加密(密文)数据的过程,它的逆向过程叫解密。
用户8949263
2022/04/08
6K0
如何使用RSA 对数据加解密和签名验签?一篇文章带你搞定
[SWPUCTF 2024 秋季新生赛]泰坦陨落2 WP
如果我们已知 X_i 和 X_{i+1},可以通过逆运算推导 X_i 的值,进一步还原最初的种子。
太岁
2024/10/29
1890
[1249]python实现rsa非对称加密解密
这两种方法都可以实现RSA加密,第一种方法使用了Python的内置模块rsa,而第二种方法使用了第三方库cryptography。请注意,第二种方法需要先安装cryptography库。两种方法的核心思路是相同的,即生成密钥对、加密和解密过程,只是具体的实现细节有所不同。
周小董
2023/12/25
1.7K0
Go每日一库之169:dongle(编解码、加解密)
luckpunk
2023/09/30
5520
XXTEA加解密as3和python分别
package { import flash.display.Shape; import flash.display.Sprite; import flash.utils.ByteArray; public class Test extends Sprite { public function Test() { var dataStr:String = "Today's weather is good."; var data:ByteArray = new ByteArray(); data.writeMultiByte(dataStr, "utf-8"); var keyStr:String = "abcxyz123"; var key:ByteArray = new ByteArray(); key.writeMultiByte(keyStr, "utf-8"); trace("data:", dataStr); trace("key:", keyStr); //加密 var encryptData:ByteArray = XXTEA.encrypt(data, key); var content:String = Base64.encodeByteArray(encryptData); trace("encode: " + content); //解密 encryptData = Base64.decodeToByteArray(content); var sourceBtyes:ByteArray = XXTEA.decrypt(encryptData, key); var sourceStr:String = sourceBtyes.toString(); trace("decode: " + sourceStr ); } } }
py3study
2020/01/08
1.1K0
Python crypto模块实现RSA和AES加密解密
RSA加密算法是一种非对称加密算法。RSA 是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。RSA就是他们三人姓氏开头字母拼在一起组成的。
Python碎片公众号
2021/02/26
10.8K0
Python crypto模块实现RSA和AES加密解密
python爬虫以及后端开发--实用加密模板整理
都是作者累积的,且看其珍惜,大家可以尽量可以保存一下,如果转载请写好出处https://www.cnblogs.com/pythonywy
小小咸鱼YwY
2020/08/24
7530
加解密
对称加密(SymmetricCryptography),以DES,AES,RC4 为代表。
tinyfisher
2019/11/20
2.1K0
Python实现各种加密,接口加解密不再难
Hi,大家好。我们在接口自动化测试项目中,有时候需要一些加密。今天给大伙介绍Python实现各种加密,接口加解密再也不愁。
可可的测试小栈
2021/12/17
7.1K0
Python实现各种加密,接口加解密不再难
python实现AES/DES/RSA/MD5/SM2/SM4/3DES加密算法模板汇总
都是作者累积的,且看其珍惜,大家可以尽量可以保存一下,如果转载请写好出处https://www.cnblogs.com/pythonywy
小小咸鱼YwY
2020/11/24
5K0
【爬虫知识】爬虫常见加密解密算法
本文总结了在爬虫中常见的各种加密算法、编码算法的原理、在 JavaScript 中和 Python 中的基本实现方法,遇到 JS 加密的时候可以快速还原加密过程,有的网站在加密的过程中可能还经过了其他处理,但是大致的方法是一样的。
K哥爬虫
2021/08/03
8.7K0
【爬虫知识】爬虫常见加密解密算法
【详解】Python3.6SocketTypeError:abytes-likeobjectisrequired,not'str'
在使用Python进行网络编程时,​​socket​​模块是一个非常重要的工具。它提供了低级别的网络接口,用于实现客户端和服务器之间的通信。然而,在使用Python 3.6的​​socket​​模块时,你可能会遇到一个常见的错误:​​TypeError: a bytes-like object is required, not 'str'​​。本文将探讨这个错误的原因,并提供解决方法。
大盘鸡拌面
2025/05/11
1560
常见的加密方式之python实现
编码与解码 通常所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes。所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错。将字符串和Bytes互相转换可以使用encode()和decode()方法。
MIKE笔记
2023/03/23
1.5K0
常见的加密方式之python实现
Python高效编程之88条军规(1):编码规范、字节序列与字符串
在微信公众号「极客起源」中输入595586,可学习全部的《Python高效编程之88条军规》系列文章。
蒙娜丽宁
2020/09/15
1.2K0
Python高效编程之88条军规(1):编码规范、字节序列与字符串
实战案例浅析JS加密 - DES与Base64
本篇旨在简单总结JS与Python加密的一些例子,文中演示的案例也是面向新手,如果有大佬很碰巧看到这篇文章,欢迎加我交流,咸鱼愿意付费学习。
咸鱼学Python
2019/06/03
3.7K0
实战案例浅析JS加密 - DES与Base64
常见加密方式和Python实现
我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes。
用户6133654
2019/08/29
2.4K0
常见加密方式和Python实现
python-AES加密解密
转载https://www.jianshu.com/p/5d27888e7c93#!/xh
小小咸鱼YwY
2020/06/19
4.4K0
网络安全&密码学—python中的各种加密算法
数据加密是一种保护数据安全的技术,通过将数据(明文)转换为不易被未经授权的人理解的形式(密文),以防止数据泄露、篡改或滥用。加密后的数据(密文)可以通过解密过程恢复成原始数据(明文)。数据加密的核心是密码学,它是研究密码系统或通信安全的一门学科,包括密码编码学和密码分析学。
小羽网安
2024/07/02
6750
网络安全&密码学—python中的各种加密算法
des加密,url编码,url解码,des解密 DES加解密及Wrong key size错误处理
des加密,url编码,url解码,des解密 DES加解密及Wrong key size错误处理
oktokeep
2024/10/09
2820
python3下常用编解码与加解密
Python3相对于Python2的一大改变就是,对默认字符类型进行了修改。Python2中定义字符串默认为二进制字符串,强制加前缀u的才是unicode字符串;而Python3中字符串默认为unicode,强制加前缀b的才是二进制字符串。(也就是刚好反过来了)
上帝De助手
2019/09/18
1.6K0
推荐阅读
相关推荐
如何使用RSA 对数据加解密和签名验签?一篇文章带你搞定
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档