小言_互联网的博客

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

360人阅读  评论(0)

本文 GitHub https://github.com/Jack-Cherish/PythonPark 已收录,技术干货文章、学习资料、一线大厂面试经验等应有尽有,欢迎 Star 和 完善。

一、加密

加密技术无处不在。

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

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

加密技术可以保障我们密码的安全性。

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

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

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

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

不过,这都 2020 年了,密码存储早已用上了不可逆的加密技术,例如 Bcrypt 加密等。同时,还有设备锁,安全性​不用担心。​

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

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

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

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

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

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

二、Ciphey

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

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

简介

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

16 种编码:

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

现在临时关闭了,优化好后可能会重新开放。

项目地址:

https://github.com/Ciphey/Ciphey

原理

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

其实原理不难,就是对一段文本进行分类,判断其属于明文,还是哪种加密方法。

经过 softmax 输出每个类别的概率,然后从高到低开始遍历破解。

思路简单,但是由于涉及到特定应用领域,实现起来也挺复杂。

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

三、算法测试

Ciphey 安装非常简单,直接使用 pip 安装即可:

python -m pip install -U ciphey

咱先来个简单的:

amFjayBjdWk=

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

使用 ciphey -t "amFjayBjdWk=" 命令,进行解码。

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

3D6F57596A7447496A565861676B3263674D336267675759755232637631575A

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

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

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

有 reverse cipher、base64、base16。

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


  
  1. import base64
  2. s = "jack cui is so handsome"
  3. print( "原始:", s)
  4. s = s[:: -1]
  5. print( "reverse cipher:",s)
  6. s = base64.b64encode(s.encode()).decode()
  7. print( "base64:", s)
  8. s = s[:: -1]
  9. print( "reverse ciper:", s)
  10. s = base64.b16encode(s.encode()).decode()
  11. print( "base16:", s)

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

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

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

ciphey - encrypted.txt

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

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

四、总结

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


转载:https://blog.csdn.net/c406495762/article/details/108128624
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场