#!/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):
'''
凯撒密码 :
只转换字母(包括大写小写)
参数 :
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):
'''
打印所有偏移结果
'''
for i in range(len(upperDict)):
print cesarWithLetter(ciphertext,i)
ciphertext=input("Please input the words : ")
printAllResult(ciphertext)
Python实现凯撒密码加密解密
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在对安全性要求比较高的报文做加密的时候,算法有很多种,我这里主要用到的就是AES加密算法。由于在国内使用,所以不可...
- 前段时间写了一个python程序,涉及http请求和数据的加密解密,终于完成了,虽然经历很长的时间,填了很多坑,但...
- 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rij...