#!/usr/bin/env python
# -*- coding: utf-8 -*-
upperDict=['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']
lowerDict=['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']
def cesarWithLetter(ciphertext,offset):
'''
凱撒密碼 :
只轉(zhuǎn)換字母(包括大寫(xiě)小寫(xiě))
參數(shù) :
ciphertext : 明文
offset : 偏移量
'''
result = ""
for ch in ciphertext:
if ch.isupper():
result=result+upperDict[((upperDict.index(ch)+offset)%26)]
elif ch.islower():
result=result+lowerDict[((lowerDict.index(ch)+offset)%26)]
elif ch.isdigit():
result=result+ch
else:
result=result+ch
return result
def printAllResult(ciphertext):
'''
打印所有偏移結(jié)果
'''
for i in range(len(upperDict)):
print cesarWithLetter(ciphertext,i)
ciphertext=input("Please input the words : ")
printAllResult(ciphertext)
Python實(shí)現(xiàn)凱撒密碼加密解密
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 在對(duì)安全性要求比較高的報(bào)文做加密的時(shí)候,算法有很多種,我這里主要用到的就是AES加密算法。由于在國(guó)內(nèi)使用,所以不可...
- 通過(guò)Crypt::encrypt(str)對(duì)str進(jìn)行加密通過(guò)Crypt::decrypt(str)對(duì)str進(jìn)行解...
- 前段時(shí)間寫(xiě)了一個(gè)python程序,涉及http請(qǐng)求和數(shù)據(jù)的加密解密,終于完成了,雖然經(jīng)歷很長(zhǎng)的時(shí)間,填了很多坑,但...
- 高級(jí)加密標(biāo)準(zhǔn)(英語(yǔ):Advanced Encryption Standard,縮寫(xiě):AES),在密碼學(xué)中又稱(chēng)Rij...