打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用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))

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
php中convert
delphi URL 编码的转换
雅思口语| 通过短信获得重要信息A time you received an important text message
如何比较两个时间字符串的大小
python-21:爬取第一个网页的源码
[js编码java解码][java编码js解码][java中的URLEncoder.encode对应JS中用decodeURIComponent] | 陈飞的博客
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服