python凯撒加密代码_Python实现的凯撒密码算法示例

本文实例讲述了Python实现的凯撒密码算法。分享给大家供大家参考,具体如下:

一 介绍

凯撒密码是一种非常古老的加密方法,相传当年凯撒大地行军打仗时为了保证自己的命令不被敌军知道,就使用这种特殊的方法进行通信,以确保信息传递的安全。他的原理很简单,说到底就是字母于字母之间的替换。下面让我们看一个简单的例子:“baidu”用凯撒密码法加密后字符串变为“edlgx”,它的原理是什么呢?把“baidu”中的每一个字母按字母表顺序向后移3位,所得的结果就是刚才我们所看到的密文。

二 代码

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

import os

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

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

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

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

def encryption():

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

k = int(raw_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 = raw_input("请输入密文:")

k = int(raw_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 = raw_input("请选择:")

if choice == "1":

encryption()

elif choice == "2":

decryption()

else:

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

三 运行结果

201841294530960.png?201831294547

PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

在线MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:http://tools.jb51.net/password/hash_md5_sha

希望本文所述对大家Python程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值