python123凯撒密码_python版实现凯撒密码

import os

#-*-coding:utf-8-*-

#==================================================================#

# 凯撒密码(caesar)是最早的代换密码,对称密码的一种 #

# 算法:将每个字母用字母表中它之后的第k个字母(称作位移值)替代 #

#==================================================================#

def encryption():

str_raw = input("请输入明文:")

k = int(input("请输入位移值:"))

str_change = str_raw.lower()

str_list = list(str_change)

str_list_encry = str_list

i = 0

while i < len(str_list):

if ord(str_list[i]) < 123-k:

str_list_encry[i] = chr(ord(str_list[i]) + k)

else:

str_list_encry[i] = chr(ord(str_list[i]) + k - 26)

i = i+1

print ("加密结果为:"+"".join(str_list_encry))

def decryption():

str_raw = input("请输入密文:")

k = int(input("请输入位移值:"))

str_change = str_raw.lower()

str_list = list(str_change)

str_list_decry = str_list

i = 0

while i < len(str_list):

if ord(str_list[i]) >= 97+k:

str_list_decry[i] = chr(ord(str_list[i]) - k)

else:

str_list_decry[i] = chr(ord(str_list[i]) + 26 - k)

i = i+1

print ("解密结果为:"+"".join(str_list_decry))

while True:

print (u"1. 加密")

print (u"2. 解密")

choice = input("请选择:")

if choice == "1":

encryption()

elif choice == "2":

decryption()

else:

print (u"您的输入有误!")

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值