#36885: python 解題思路


tu.a.yuan.2022@gmail.com (凃阿鳶)

學校 : 新北市立板橋高級中學
編號 : 239751
來源 : [1.162.83.71]
最後登入時間 :
2024-01-23 15:32:58
a009. 解碼器 -- ACM 458 | From: [1.162.140.251] | 發表日期 : 2023-08-14 18:48

由題幹可知此加密運用的是ASCII值的簡單移位,我們需要從密文與明文找出位移值k,以進行後續解密

 

運用ord()或查表找出位移值

運用def定意函式decrypt_with_shift(encoded_text, shift)

運用for循環encoded_text中的每一個char,以ord減去shift倒推正確的char

運用return回傳

 

注意:倒推行應為此式樣,decoded += chr((ord(char) - shift) % 128)

 

補充:A-Z: 65-90, a-z: 97-122

補充:ASCII值的簡單移位又稱為凱薩加密,是古羅馬時期使用的一種加密技術。在無法比對位移值的情況下,通常會使用暴力破解法,輸出每個位移值的結果,再由相關模組篩選較高可能性的輸出。假如有加密需求,建議使用AES或RSA等安全性較高的算法。

 

 
ZeroJudge Forum