【python密碼學編程】6.凱撒加密法


凱撒加密法的密鑰是0~25的整數

# _*_ coding:utf-8 _*_
#Caeser Ciper
import pyperclip
messgae = 'this is my secret messgae.'
key = 13
mode = 'encrypt'    #模式是加密而非解密(decrypt)
LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'    #常量要大寫
translated = ''
messgae = messgae.upper()
for symbol in messgae:
    if symbol in LETTERS:
        num = LETTERS.find(symbol)    #find()返回的是該字符在字符串中的位置

        if mode == 'encrypt':#判斷當前是加密還是解密過程
            num = num+key
        elif mode == 'decrypt':
            num = num-key

        if num > len(LETTERS):#當處理后的數字脫離26個字母的數字范圍后的處理
            num = num - len(LETTERS)
        elif num < 0:
            num = num + len(LETTERS)

        translated = translated + LETTERS[num]#空字符串一個個加上翻譯后得到的字符

    else:
        #如果要翻譯的字符不在26個大寫字母的范圍內
        translated =translated + symbol

print translated
pyperclip.copy(translated)
>>>
GUVF VF ZL FRPERG ZRFFTNR.
[Finished in 0.8s]

   僅允許非商業轉載,轉載請注明出處


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM