iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python如何实现凯撒密码
  • 585
分享到

python如何实现凯撒密码

2023-06-14 13:06:12 585人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下python如何实现凯撒密码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在密码学中,凯撒密码(或称恺撒加密、恺撒变换、变换加密)是一种最简单且最广为人知的加密技术。它是一种替换加密的技术。这个加密方法是

小编给大家分享一下python如何实现凯撒密码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

在密码学中,凯撒密码(或称恺撒加密、恺撒变换、变换加密)是一种最简单且最广为人知的加密技术。它是一种替换加密的技术。这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。恺撒密码通常被作为其他更复杂的加密方法中的一个步骤,例如维吉尼亚密码。恺撒密码还在现代的ROT13系统中被应用。但是和所有的利用字母表进行替换的加密技术一样,恺撒密码非常容易被破解,而且在实际应用中也无法保证通信安全

尽管是最简单的加密技术,但那该怎么在Python中如何现实呢?

代码如下:

def ask(): while True:  print("Welcome to you coming!")  print("you can choose mode : encrypt(e) or decrypt(d)")  #有解密和加密模式  print("If you choose encrypt ,you can lock the message!") #加密提示  print("If you choose decrypt ,you can unlock the message!") #解密提示  print("If you wanna exit , input 'q'!!")     #退出提示  mode = input("choose:").lower()        #将输入的模式进行变换(从大写变小写,小写部分不变)  if mode in 'encrypt e decrypt d q'.split():     #当模式是被要求的encrypt e(加密模式)decrypt d(解密模式) q(退出)时进行下一步操作   #print(mode)           #打印输入的模式   return mode            #将mode的值作为返回值  else:   print('Please input right option!!')     #输出提示def geTKEy(mode): key = 0               #设置默认的key while key <= 0 or key >= 26:         #限制key的范围在(1-25以内的数)  try:              #这里进行异常处理,将非整数类型的输入进行错误提示打印   key = int(input("Please input your key:(1-26)"))  except:   print("Please input correct number!!") #对解密的密匙进行变换 if mode == 'd' or mode == 'decrypt':  key = -key return keydef getMessage(key): #输入信息 while True:  infORMetion = input("Please input message!!")    #输入要解密或者加密的信息  if informetion.isalpha():         #判断输入的字符串是否为纯字母   break  else:   print("Please input continuous character!!!")   #输错提示 message = ''             #设置输出的初始值 for x in informetion:           #将输入信息里的进行逐一字母加密/解密  num = ord(x)            #将单一字符通过ascii表进行转换,将字母转换为数字  num += key             #加上key的值进行下列运算  if x.isupper():            #判断是否是大写字母   if num > ord('Z'):          #对超出ascii对应数值的范围进行处理    num -=26    print(message)   elif num < ord('A'):    num +=26    print(message)  elif x.islower():           #判断是否小写字母   if num > ord('z'):    num -=26   elif num < ord('a'):    num +=26  message += chr(num)           #将单一字符通过ascii表进行转换,将数字转换为字母 return message             #返回message的值  if __name__=="__main__":           #主程序 mode = ask()             #将ask()返回值存于mode变量中 if mode == 'q':             #进行退出判断  print('welcome!!') else:  key = getKey(mode)            #将mode变量的值带入getKey函数中运行,运行后将key的值存入到key变量中  last = getMessage(key)          #将key变量的值带入到getMessage函数中,运行后将message的值存入到last变量中  print(last)

看完了这篇文章,相信你对“python如何实现凯撒密码”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网Python频道,感谢各位的阅读!

--结束END--

本文标题: python如何实现凯撒密码

本文链接: https://www.lsjlt.com/news/271160.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python实现凯撒密码
    在密码学中,凯撒密码(或称恺撒加密、恺撒变换、变换加密)是一种最简单且最广为人知的加密技术。它是一种替换加密的技术。这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行...
    99+
    2024-04-02
  • python如何实现凯撒密码
    小编给大家分享一下python如何实现凯撒密码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在密码学中,凯撒密码(或称恺撒加密、恺撒变换、变换加密)是一种最简单且最广为人知的加密技术。它是一种替换加密的技术。这个加密方法是...
    99+
    2023-06-14
  • python如何实现凯撒密码加密解密
    这篇文章主要介绍了python如何实现凯撒密码加密解密的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python如何实现凯撒密码加密解密文章都会有所收获,下面我们一起来看看吧。凯撒加密就是通过将字母移动一定的位...
    99+
    2023-07-02
  • Go实现凯撒密码加密解密
    目录1 凯撒密码加密设计思想2 Go实现2.1 导入包2.2 编写 caesar 方法3 凯撒密码解密4 其他实现5 测试总结1 凯撒密码加密 凯撒密码(英语:Caesar ciph...
    99+
    2024-04-02
  • Python编程实现凯撒密码加密示例
    目录 一、什么是凯撒密码 二、python实现凯撒加密 一、什么是凯撒密码 “在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺...
    99+
    2024-04-02
  • python实现凯撒密码加密解密的示例代码
    凯撒加密就是通过将字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移,被替换成密文。例如,当偏移量是2的时候,所有的字母B将被替换...
    99+
    2024-04-02
  • 怎么用VBS实现的凯撒密码算法
    这篇文章主要介绍“怎么用VBS实现的凯撒密码算法”,在日常操作中,相信很多人在怎么用VBS实现的凯撒密码算法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用VBS实现的凯撒密码算法”的疑惑有所帮助!接下来...
    99+
    2023-06-08
  • Python实现简易凯撒密码的示例代码
    目录概念及原理实现过程破解原理及实现概念及原理 根据百度百科上的解释,凯撒密码是一种古老的加密算法。 密码的使用最早可以追溯到古罗马时期,《高卢战记》有描述恺撒曾经使用密码来传递信息...
    99+
    2024-04-02
  • 一文详解凯撒密码的原理及Python实现
    目录一、什么是恺撒密码二、程序运行环境三、恺撒密码:加密3.1 恺撒密码加密实例程序3.2 恺撒密码加密实例程序运行结果四、恺撒密码:解密4.1 恺撒密码解密实例程序4.2 恺撒密码...
    99+
    2024-04-02
  • Python密码学Caesar Cipher凯撒密码算法教程
    目录凯撒密码算法输出说明凯撒密码算法的黑客攻击在最后一章中,我们处理了反向密码.本章详细讨论了凯撒密码. 凯撒密码算法 凯撒密码的算法具有以下特征; Caesar Cipher Te...
    99+
    2024-04-02
  • Python的Caesar Cipher凯撒密码算法怎么用
    这篇文章主要介绍“Python的Caesar Cipher凯撒密码算法怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python的Caesar Cipher凯撒密码算法怎么...
    99+
    2023-06-30
  • Go 语言中怎么实现凯撒加密
    今天就跟大家聊聊有关 Go 语言中怎么实现凯撒加密,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。代码清单 9-6 处理单个字符: caesar.go...
    99+
    2024-04-02
  • 怎么用Python代码实现一个简单的凯撒加密算法
    本篇内容介绍了“怎么用Python代码实现一个简单的凯撒加密算法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2024-04-02
  • 怎么通过Go语言实现凯撒加密
    小编给大家分享一下怎么通过Go语言实现凯撒加密,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在 2 世纪, 发送机密消息的一个有效方法就是对每个字母进行位移, 使...
    99+
    2023-06-27
  • Python基础编程入门实例:恺撒密码
    文章目录 Python基础编程入门实例:恺撒密码一、什么是恺撒密码二、程序运行环境三、恺撒密码:加密3.1、恺撒密码加密实例程序3.2、恺撒密码加密实例程序运行结果 四、恺撒密码:解密4....
    99+
    2023-10-27
    python 开发语言 Python程序基础 Python入门小实例 pycharm
  • python如何实现列置换密码
    这篇文章主要介绍了python如何实现列置换密码的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python如何实现列置换密码文章都会有所收获,下面我们一起来看看吧。过程加密过程将明文p以设定的固定分组宽度m按行...
    99+
    2023-06-30
  • python一次性密码如何实现
    今天小编给大家分享一下python一次性密码如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一次性密码密码一次性密码密...
    99+
    2023-06-30
  • python如何实现三次密码验证
    小编给大家分享一下python如何实现三次密码验证,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化...
    99+
    2023-06-14
  • php如何实现密码加密
    这篇文章给大家分享的是有关php如何实现密码加密的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php密码加密方法:1、使用password_hash(),语法“password_hash(密码,PASSWORD_...
    99+
    2023-06-20
  • vuejs如何实现密码加密
    这篇文章主要为大家展示了“vuejs如何实现密码加密”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vuejs如何实现密码加密”这篇文章吧。vuejs实现密码加密的方法:1、通过npm引入“cry...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作