失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > php实现凯撒密码加密算法 Python实现的凯撒密码算法示例

php实现凯撒密码加密算法 Python实现的凯撒密码算法示例

时间:2021-02-14 10:11:18

相关推荐

php实现凯撒密码加密算法 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"您的输入有误!")

三 运行结果

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

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

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

如果觉得《php实现凯撒密码加密算法 Python实现的凯撒密码算法示例》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。