返回顶部
首页 > 资讯 > 后端开发 > Python >python实现凯撒密码
  • 312
分享到

python实现凯撒密码

2024-04-02 19:04:59 312人浏览 安东尼

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 key

def 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) 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

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

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

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

猜你喜欢
  • 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
  • Python实现简易凯撒密码的示例代码
    目录概念及原理实现过程破解原理及实现概念及原理 根据百度百科上的解释,凯撒密码是一种古老的加密算法。 密码的使用最早可以追溯到古罗马时期,《高卢战记》有描述恺撒曾经使用密码来传递信息...
    99+
    2024-04-02
  • 一文详解凯撒密码的原理及Python实现
    目录一、什么是恺撒密码二、程序运行环境三、恺撒密码:加密3.1 恺撒密码加密实例程序3.2 恺撒密码加密实例程序运行结果四、恺撒密码:解密4.1 恺撒密码解密实例程序4.2 恺撒密码...
    99+
    2024-04-02
  • 怎么用VBS实现的凯撒密码算法
    这篇文章主要介绍“怎么用VBS实现的凯撒密码算法”,在日常操作中,相信很多人在怎么用VBS实现的凯撒密码算法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用VBS实现的凯撒密码算法”的疑惑有所帮助!接下来...
    99+
    2023-06-08
  • 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密码加密与解密的实现
    目录一、对称加密1.1 安装第三方库 - PyCrypto1.2 加密实现二、非对称加密三、摘要算法3.1 md5加密3.2 sha1加密3.3 sha256加密3.4 sha384...
    99+
    2023-02-07
    python 密码加密 python 密码解密
  • python密码学一次性密码的实现
    目录一次性密码密码为什么它是坚不可摧的?加密解密一次性密码密码的实现安装代码输出一次性密码密码 一次性密码密码是一种Vignere密码,包括以下功能; 这是一个牢不可破的密码.密钥与...
    99+
    2024-04-02
  • Python:实现密码加密解密(含完整源码)
    Python:实现密码加密解密(含完整源码) 密码加密是保护用户隐私的一种有效手段。本文将讲解如何使用Python编写一个简单的密码加密解密程序,并提供完整源代码。 步骤一:安装依赖库 我们需要使用到...
    99+
    2023-09-11
    python 开发语言
  • 11行Python代码实现解密摩斯密码
    目录1、引言2、代码示例2.1摩尔斯电码科普2.2 加密2.3 解密3、总结1、引言 小屌丝:鱼哥,快来求助求助! 小鱼:嗯? 啥事,让你这么慌慌张张的? 小屌丝:刚刚我女神给我发古...
    99+
    2024-04-02
  • python实现希尔密码加密的示例代码
    目录原理实现原理 希尔密码是运用基本矩阵论原理的替换密码,由Lester S. Hill在1929年发明。 每个字母当作26进制数字:A=0, B=1, C=2… 一串字母当成n维向量,跟一个n×n的矩阵相乘,再将得...
    99+
    2022-06-02
    python 希尔密码加密 python 希尔密码
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作