<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
小屌絲:魚哥,快來求助求助!
小魚:嗯? 啥事,讓你這麼慌慌張張的?
小屌絲:剛剛我女神給我發古來這一段符號,我不知道啥意思,能不能幫我翻譯一下?
小魚:啥符號?
小屌絲:這個"… …-- --… —… …— … …-- —… —… -----"
小魚:這… 這不是摩斯密碼嗎,你女神啥時候這麼厲害了?
小屌絲:魚哥,別管那麼多了,快看看能不能翻譯出啥意思,萬一是我的女神要找我壓馬路呢?
小魚:話說,我也不是名偵探… 這,有點難為我了。
小屌絲:啥條件都行,只要你能翻譯出來。
小魚:嗯~ 那我試試。
在進行密碼破解前,小魚先來科普一下摩爾斯電碼的姿勢 知識。
1、起源:
摩爾斯電碼( 又譯為摩斯密碼,英語:Morse code)是一種時通時斷的訊號程式碼,通過不同的排列順序來表達不同的英文字母、數位和標點符號。是由美國人艾爾菲德·維爾與薩繆爾·摩爾斯在1836年發明。
2、組成
摩爾斯電碼是一種早期的數碼化通訊形式,它依靠一系列的點和划來傳遞編碼資訊,它的程式碼包括五種:
點的長度(也就是上面的時間長度t)決定了發報的速度。
3、對照表
接下來,我們就進入今天的最重要的環境,摩斯密碼的加密與解密。
一、思路
實現的步驟總共分三步:
第一步:把冰箱門開啟
搞錯了,重來
第一步:把對照表內容放到字典裡;
第二步:加密時將明文拆分;
第三步:從字典取出對應的密碼組合在一起;
二、程式碼範例
# -*- coding:utf-8 -*- # @Time : 2024-04-12 # @Author : carl_DJ #對照表內容放入字典中 Dict_MorseCode = { 'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.', 'F': '..-.', 'G': '--.', 'H': '....', 'I': '..', 'J': '.---', 'K': '-.-', 'L': '.-..', 'M': '--', 'N': '-.', 'O': '---', 'P': '.--.', 'Q': '--.-', 'R': '.-.', 'S': '...', 'T': '-', 'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-', 'Y': '-.--', 'Z': '--..', '1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.', '0': '-----', ', ': '--..--', '.': '.-.-.-', '?': '..--..', '/': '-..-.', '-': '-....-', '(': '-.--.', ')': '-.--.-' } #加密 def encrypt(message): cipher = '' for code in message: if code != ' ': # 查字典並新增對應的摩斯密碼 # 用空格分隔不同字元的摩斯密碼 cipher += Dict_MorseCode[code] + ' ' else: # 1個空格表示不同的字元 # 2表示不同的詞 cipher += ' ' return cipher message = "53782 53880" result = encrypt(message) print(f'加密後的摩斯密碼:{result}')
三、輸出結果:
加密後的摩斯密碼:..... ...-- --... ---.. ..--- ..... ...-- ---.. ---.. -----
一、思路
思路與加密一樣的,都是分三步:
第一步:把對照表內容放到字典裡;
第二步:解密時通過密文去對照表找對應的明文;
第三步:拼接起來;
二、程式碼範例
# -*- coding:utf-8 -*- # @Time : 2024-04-12 # @Author : carl_DJ #對照表內容放入字典中 Dict_MorseCode = { 'A': '.-', 'B': '-...', 'C': '-.-.', 'D': '-..', 'E': '.', 'F': '..-.', 'G': '--.', 'H': '....', 'I': '..', 'J': '.---', 'K': '-.-', 'L': '.-..', 'M': '--', 'N': '-.', 'O': '---', 'P': '.--.', 'Q': '--.-', 'R': '.-.', 'S': '...', 'T': '-', 'U': '..-', 'V': '...-', 'W': '.--', 'X': '-..-', 'Y': '-.--', 'Z': '--..', '1': '.----', '2': '..---', '3': '...--', '4': '....-', '5': '.....', '6': '-....', '7': '--...', '8': '---..', '9': '----.', '0': '-----', ', ': '--..--', '.': '.-.-.-', '?': '..--..', '/': '-..-.', '-': '-....-', '(': '-.--.', ')': '-.--.-' } #解密,就是將字串從摩斯解密為英文的函數 def decrypt(message): # 在末尾新增額外空間以存取最後一個摩斯密碼 message += ' ' decipher = '' citext = '' global i for code in message: # 檢查空間 if code != ' ': i = 0 # 在空格的情況下 citext += code # 在空間的情況下 else: # 如果 i = 1 表示一個新字元 i += 1 # 如果 i = 2 表示一個新單詞 if i == 2: # 新增空格來分隔單詞 decipher += ' ' else: # 使用它們的值存取金鑰(加密的反向) decipher += list(Dict_MorseCode .keys())[list(Dict_MorseCode .values()).index(citext)] citext = '' return decipher message = "..... ...-- --... ---.. ..--- ..... ...-- ---.. ---.. -----" result = decrypt(message) print(f'解密後的明文:{result}')
三、輸出結果:
解密後的明文:53782 53880
小魚:我擦~~ 小屌絲,你這可以啊。
小屌絲:啥情況,這不是一串數位,我也不懂啊
小魚:你這是鋼鐵直男吧,這麼明顯的,你還不懂??
小屌絲:魚哥,別繞彎子了,趕緊告訴我吧,是不是女神想我給她買好吃的了?
小魚:唉~ ~ 真不明白,這麼漂亮的妹子,想啥不行,非得想你…
小屌絲:此話當真,那我趕緊去哦。
小魚:哎~ 你咋溜得這麼快,我還沒說完呢。
看到這裡,今天的分享就到這裡了。
是不是覺得,摩斯密碼也沒有那麼難嘛。
就是幾行程式碼的事,太easy了。
以後追女神,是不是又有新套路了…
到此這篇關於11行Python程式碼實現解密摩斯密碼的文章就介紹到這了,更多相關Python解密摩斯密碼內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45