莫斯密碼加密與解密 python解密篇

2021-10-23 06:41:40 字數 1889 閱讀 4088

莫爾斯碼( morse code)最早用於電報通訊,因此一般稱為莫爾斯電碼。這是一種時通時斷的訊號**,通過不同的排列順序來表達不同的英文本母、數字和標點符號等。莫爾斯碼由兩種基本訊號組成:短促的點訊號 「 .」 (讀「滴」)和保持一定時間的長號「ー讀「嗒」)。

下圖是莫爾斯電碼表的字母部分,各個英文本母以不同的點dot(.)和划dash(——)表示。在發報時,一點就是「嘀」的一聲,一劃就是「嗒」的一聲,「嗒」保持的時間是3個嘀」的長度。參照上面的電碼表,發出sos的求救訊號就是「滴滴滴嗒嗒嗒滴滴滴」。

這次我們就來看看怎麼用python來解密莫斯密碼通過將莫爾斯電碼表存放到字典中,就能將輸入的英文句子便捷地轉換成莫爾斯碼的形式。使用自然語言描述將英文句子轉換成莫爾斯碼的演算法,具體步驟如下,

(1)準備乙個莫爾斯碼字典資料。

morsetochar =
(2)輸入一句莫爾斯密電碼。
morse = input('請輸入一句莫爾斯密電碼:')
(3)先將輸入的莫爾斯密電碼按空格分隔開來,並存入列表。
lists = morse.split(' ')
在這裡如果不分隔開來就直接逐個讀取的話就會出現,讀乙個點就進行解碼的錯誤。

』 . 『解碼是 e,』—』 解碼是 t

進行分隔再解碼才能解碼正確的對應字母

(4)使用for…in迴圈語句逐個讀取分隔好的列表的元素。

for word in lists:
(4)從字典中讀取每個電碼符號對應的字母。
word = morsetochar.get(word,' ').lower( )
(5)輸出乙個字母和乙個空格。
print(word , end=' ')
(6)至此,將英文句子轉換為莫爾斯碼的程式編寫完畢,完整**如下:
'.':'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',}

morse = input('請輸入一句莫爾斯密電碼:')

lists = morse.split(' ')

for word in lists:

word = morsetochar.get(word,' ').lower( )

print(word , end='')

加密的方法還有很多很多,python的演算法強大,對資料處理操作容易

python中的hashlib模組用來進行hash或者md5加密,而且這種加密是不可逆的,所以這種演算法又被稱為摘要演算法。其支援openssl庫提供的所有演算法,包括md5、sha1、sha224、sha256、sha512等。

有興趣的同學我們以後可以來給大家介紹。

莫斯密碼加密與解密 python加密篇

莫爾斯碼 morse code 最早用於電報通訊,因此一般稱為莫爾斯電碼。這是一種時通時斷的訊號 通過不同的排列順序來表達不同的英文本母 數字和標點符號等。莫爾斯碼由兩種基本訊號組成 短促的點訊號 讀 滴 和保持一定時間的長號 讀 嗒 下圖是莫爾斯電碼表的字母部分,各個英文本母以不同的點dot 和划...

加密與解密(五) 密碼 加密

問題 1 密碼的存在意義?2 加密演算法有哪些?密碼 密碼學 密碼 通訊雙方按照約定的法則進行資訊特殊變換的一種重要保密手段。依照這些法則,變明文為密文,稱為加密變換 變密文為明文,稱為脫密變換 解密 密碼體制可以分為以下幾種 密碼學的目標 加密乙個密碼系統的安全性只在於金鑰的保密性,而不在演算法的...

python應用 愷撒密碼加密與解密

1.它是一種替換加密的技術,明文中的所有字母都在字母表上向後 或向前 按照乙個固定數目進行偏移後被替換成密文。例如,當偏移量是3的時候,所有的字母a將被替換成d,b變成e,以此類推。這個加密方法是以愷撒的名字命名的,當年愷撒曾用此方法與其將軍們進行聯絡。2.ascii表 2.具體實現 class c...