太强了!基于深度学习的文本自动解密算法。

来自专辑
AI 实验室
点击上方“Jack Cui”,选择“加为星标”
第一时间关注手艺干货!


1

加密

加密手艺无处不在。

最常见的就是我们天天都在使用的密码。

上岸微信、淘宝,我们所使用的密码,就是加密存储在数据库中的。

加密手艺可以保障我们密码的安全性。

若是这些密码在数据库中是以明文形式存储的,那安全隐患就太大了。

一旦数据库泄露,就不光是一个账号被盗的问题了。

很可能是多个网站的账号同时被盗。

由于很多人的习惯是,各大网站都用相同的密码。

不外,这都 2020 年了,密码存储早已用上了不可逆的加密手艺,例如 Bcrypt 加密等。同时,另有装备锁,安全性不用忧郁。

但这类加密算法的成本较高,并不适合所有的场景。

对于不太主要的数据,就可以使用一些低成本的加密和编码算法。

例如男子之间的“灵魂对话”。

这种加密对话,靠的是两人多年的默契,外人很难参透,无迹可寻。

而下面这种就差别了,加密和编码是有迹可循的。

今天,咱就用这个,基于深度学习的文本自动解密 Ciphey 算法,破一破这些有迹可循的加密和编码算法。

2

Ciphey

Ciphey 算法开源至今,已经获得 2.2k+ star,一度登上 GIthub 热榜。

每当遇到一些不知道加密方式和编码花样的文本,不妨试试 Ciphey ,说不定可以轻松解决你的烦恼。

简介

Ciphey 支持破解 6 种基础加密:

16 种编码:

哈希也支持,不外效果不可控。

现在暂且关闭了,优化好后可能会重新开放

,

联博

www.326681.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。

,

项目地址:
https://github.com/Ciphey/Ciphey

原理

Ciphey 是将深度学习手艺应用到特定的场景。

实在原理不难,就是对一段文本举行分类,判断其属于明文,照样哪种加密方式。

经由 softmax 输出每个种别的概率,然后从高到低最先遍历破解。

思绪简朴,然则由于涉及到特定应用领域,实现起来也挺庞大。

需要领会每种加密和编码算法的方式,以及破解和解码的方式。

3

算法测试

Ciphey 安装异常简朴,直接使用 pip 安装即可:

python -m pip install -U ciphey

咱先来个简朴的:

amFjayBjdWk=

这种编码效果,经常用 base64 的人一眼就能看出来。

使用 ciphey -t "amFjayBjdWk=" 下令,举行解码。

这种太小儿科,那咱换个难的。

3D6F57596A7447496A565861676B3263674D336267675759755232637631575A

这种是基础加密算法和编码的组合,可以自己实验解密,感受下难度

而用 Ciphey ,轻松一秒内解密完成。

轻轻松松拿到效果的同时,还可以知道,这个字符串都用了什么加密和编码算法。

有 reverse cipher、base64、base16。

而现实,我也确实是这么做的:

import base64
s = "jack cui is so handsome"
print("原始:", s)
s = s[::-1]
print("reverse cipher:",s)
s = base64.b64encode(s.encode()).decode()
print("base64:", s)
s = s[::-1]
print("reverse ciper:", s)
s = base64.b16encode(s.encode()).decode()
print("base16:", s)

先对字符串举行反转,再举行 base64 编码,将编码的效果再次反转,最后再加一个 base16 编码。

Ciphey 除了对这种加密字符串的解密,还可以针对整个文本。

可以使用如下下令,解密 encrypted.txt 文本里所有的内容。

ciphey - encrypted.txt

此外,还可以提供一个 wordlist ,辅助解密。

遇到这种加密和编码的场景,不妨试试这个,基于深度学习的文本自动解密 Ciphey 算法。

4

总结

Ciphey 要是支持的哈希解密稳固一些,那就更好了。


阅读原文