小朋友們好,大朋友們好!
我是貓妹,一名愛上Python編程的小學(xué)生。
歡迎和貓妹一起,趣味學(xué)Python。
今日主題
看過上一篇文章的朋友,可能覺得這樣加密,未免太簡單了吧?
一共26個(gè)字母,最多也就26個(gè)密鑰,一一試下,不就可以了?
說得對,貓妹也是這樣想的。
這位讀著朋友用窮舉法,再根據(jù)特定使用場景,很容易將密文還原為明文。
那么,有沒有辦法在愷撒密碼的基礎(chǔ)上,將po解難度提升下呢?
最好是地獄級難度。
有的,咱們今天就學(xué)習(xí)下。
難度飆升
如果每個(gè)字母依據(jù)其出現(xiàn)的位置,決定其要使用密鑰,而不再使用統(tǒng)一的密鑰。
這樣一來,再暴力po解就不好使用了。
比如密鑰是314159等,整個(gè)明文按照這個(gè)密鑰順序,依次加密。
如果不知道這里的314159,那么還能暴力po解嗎?
或者說,還那么容易暴力po解嗎?
比如密文是:pz$xjr{jr!n|#9=3>::89
明文是多少?
加密
32~126包含了ASCII可見字符中的所有字符。
如果加密后的字符超出了合理范圍(32~126),那么將其換算到合理范圍。

解密
解密同加密邏輯大致類似:

好了,我們今天就學(xué)到這里吧!
如果遇到什么問題,咱們多多交流,共同解決。
我是貓妹,咱們下次見!