三分钟教你学会如何将密文解码成明文

1:准备好你的密文(将铭文转换成密文) 代码如下:

# coding=utf-8
import base64


def encrypt(en_str):
    """
    加密:先对原字符串作base64加密,然后将加密后的字符串首尾字符对换位置,得到密文
    :param en_str: 待加密明文
    :return: 加密后的密文
    """
    en_str = base64.b64encode(en_str)
    # print "加密后的字符串:  " + en_str
    en_str = en_str[-1] + en_str[1:len(en_str) - 1] + en_str[0]
    # print "对换后的字符串:  " + en_str
    return en_str


def decrypt(de_str):
    """
    解密:先将密文首尾字符对换位置,然后base64解密
    :param de_str: 待解密密文
    :return:
    """
    de_str = de_str[-1] + de_str[1:len(de_str) - 1] + de_str[0]
    # print "解密前的字符串:  " + de_str
    de_str = base64.b64decode(de_str)
    # print "解密后的字符串:  " + de_str
    return de_str

if __name__ == '__main__':
    str = '这里填写你想要生成密文的明文,程序会自动生成一连串的密文给你'
    en_str = encrypt(str)
    print en_str
    de_str = decrypt(en_str)
    print de_str

我已经准备生成好的密文如下:想看看这段密文写的是什么吗?随着我的脚步一步步来看吧,你会看到意想不到的惊喜,也会惊艳与自己的破解密文的能力。 WYWz5rOo5YWs5LyX5Y+34oCc57yW56iL5b6u5YiK4oCd77yM6K6k6K+G576O5aWz5bCP57y5

2:Python开发环境的安装,如果没有的话,推荐一款在线运行神器:https://c.runoob.com/compile/6

3:将密文转换成明文的代码如下

将这段代码粘贴在神器里面,想看看小编说了一句什么话吗?那就点击运行:

# coding=utf-8
import base64


def encrypt(en_str):
    """
    加密:先对原字符串作base64加密,然后将加密后的字符串首尾字符对换位置,得到密文
    :param en_str: 待加密明文
    :return: 加密后的密文
    """
    en_str = base64.b64encode(en_str)
    # print "加密后的字符串:  " + en_str
    en_str = en_str[-1] + en_str[1:len(en_str) - 1] + en_str[0]
    # print "对换后的字符串:  " + en_str
    return en_str


def decrypt(de_str):
    """
    解密:先将密文首尾字符对换位置,然后base64解密
    :param de_str: 待解密密文
    :return:
    """
    de_str = de_str[-1] + de_str[1:len(de_str) - 1] + de_str[0]
    # print "解密前的字符串:  " + de_str
    de_str = base64.b64decode(de_str)
    # print "解密后的字符串:  " + de_str
    return de_str

if __name__ == '__main__':
    en_str = 'WYWz5rOo5YWs5LyX5Y+34oCc57yW56iL5b6u5YiK4oCd77yM6K6k6K+G576O5aWz5bCP57y5'
    print en_str
    de_str = decrypt(en_str)
    print de_str

OK,从朋友那里学来的Python解密小技巧,记录一下。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏freesan44

三重Des对称加密在Android、Ios 和Java 平台的实现

如今手机app五彩缤纷,确保手机用户的数据安全是开发人员必须掌握的技巧,下面通过实例介绍DES在android、ios、java平台的使用方法;

1271
来自专栏技术博文

php des 加密解密实例

des加密是对称加密中在互联网应用的比较多的一种加密方式,php 通过mcrypt扩展库来支持des加密,要在Php中使用des加密,需要先安装mcrypt扩展...

48510
来自专栏菩提树下的杨过

RxJava2学习笔记(3)

接上回继续,今天来学习下zip(打包)操作 一、zip操作 @Test public void zipTest() { Obse...

4436
来自专栏C#

DotNet加密方式解析--数字签名

    马上就要过年回村里了,村里没有wifi,没有4G,没有流量,更加重要的是过几天电脑就得卖掉换车票了,得赶紧写几篇文章。 ?     数据安全的相关技术在...

3177
来自专栏三流程序员的挣扎

RxJava 条件和布尔操作符

多个 Observable 中,无论发射的是 onNext 还是 onComplete 或者 onError,只接受第一个发射数据的那个 Observable,...

991
来自专栏三流程序员的挣扎

RxJava 创建操作符

内部触发对 Observer 的 onNext 方法的调用,just 中传递的参数将直接在 onNext 方法中接收到,参数的类型要和 Observer 的泛型...

2431
来自专栏WindCoder

进击微信小程序-Java版AES/CBC/PKCS7Padding加解密字符串

进击微信小程序,最初找到腾讯云给的解决方案,无奈后端是node.js,而且才一开始配上去还不能用,之后仔细看readme,摸到它开源的Wafer,本来以为找到终...

3512
来自专栏web开发

JavaScript前端和Java后端的AES加密和解密

在实际开发项目中,有些数据在前后端的传输过程中需要进行加密,那就需要保证前端和后端的加解密需要统一。这里给大家简单演示AES在JavaScript前端和Java...

7056
来自专栏FreeBuf

非对称算法之RSA的签名剖析

数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。 不清楚的请自行科普数字签名。本...

2243
来自专栏Java与Android技术栈

Cold Observable 和 Hot Observable

Hot Observable 无论有没有 Subscriber 订阅,事件始终都会发生。当 Hot Observable 有多个订阅者时,Hot Observa...

1642

扫码关注云+社区

领取腾讯云代金券