一、加密
加密技術無處不在。
最常見的就是我們每天都在使用的密碼。
登陸微信、淘寶,我們所使用的密碼,就是
加密儲存
在資料庫中的。
加密技術可以保障我們密碼的安全性。
如果這些密碼在資料庫中是以
明文形式
儲存的,那安全隱患就太大了。
一旦資料庫洩漏,就不光是一個賬號被盜的問題了。
很可能是多個網站的賬號同時被盜。
因為很多人的習慣是,各大網站都用相同的密碼。
不過,這都 2020 年了,密碼儲存早已用上了不可逆的加密技術,例如 Bcrypt 加密等。同時,還有裝置鎖,安全性不用擔心。
但這類加密演算法的成本較高,並不適合所有的場景。
對於不太重要的資料,就可以使用一些低成本的加密和編碼演算法。
例如男人之間的 “靈魂對話”。
這種加密對話,靠的是兩人多年的默契,外人很難參透,無跡可尋。
而下面這種就不同了,加密和編碼是有跡可循的。
今天,咱就用這個,基於
深度學習
的文字自動解密 Ciphey 演算法,破一破這些有跡可循的加密和編碼演算法。
二、Ciphey
Ciphey 演算法開源至今,已經獲得 2。2k+ star,一度登上 Github 熱榜。
每當遇到一些不知道加密方法和編碼格式的文字,不妨試試 Ciphey ,說不定可以輕鬆解決你的煩惱。
簡介
Ciphey 支援破解 6 種基礎加密:
16 種編碼:
雜湊也支援,不過效果不可控。
現在臨時關閉了,最佳化好後可能會重新開放。
原理
Ciphey 是將深度學習技術應用到特定的場景。
其實原理不難,就是對一段文字進行分類,判斷其屬於明文,還是哪種加密方法。
經過 softmax 輸出每個類別的機率,然後從高到低開始遍歷破解。
思路簡單,但是由於涉及到特定應用領域,實現起來也挺複雜。
需要了解每種加密和編碼演算法的方法,以及破解和解碼的方式。
三、演算法測試
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 文本里所有的內容。
此外,還可以提供一個 wordlist ,輔助解密。
遇到這種加密和編碼的場景,不妨試試這個,基於深度學習的文字自動解密
Ciphey
演算法。
四、福利
需要這些資料的,可以私信 888 領取