使用Python语言实现凯撒密码的加密和解密 您所在的位置:网站首页 加密结果为大小写字母和数字怎么表示 使用Python语言实现凯撒密码的加密和解密

使用Python语言实现凯撒密码的加密和解密

2024-06-27 05:06| 来源: 网络整理| 查看: 265

使用Python语言实现凯撒密码的加密和解密 介绍

在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。

扫盲:大写字母A至Z对应的十进制ASCII编码为65至90,小写字母a至z对应的十进制ASCII编码为97至122。

方法一

chr()函数用一个范围在range(256)内的(就是0~255)整数作参数,返回一个对应的字符。返回值是当前整数对应的ASCII字符。该函数的返回值为字符串形式,例如输入chr(90),输出为 ‘Z’ 。 ord()函数与chr()函数对应,输入ASCII字符表中字符的字符串形式,返回为其在字符表中的排序位次。例如输入ord(‘a’),输出为97。

加密 str=input("请输入明文:") n=int(input("请输入密钥:")) str_encrypt="" for letter in str: if letter==" ": #遇到空格选择不加密 letter_encrypt=" " else: letter_encrypt=chr((ord(letter)-ord("a") +n) %26 +ord("a")) str_encrypt += letter_encrypt print("密文为:",str_encrypt)

在这里插入图片描述

解密 str=input("请输入密文:") n=int(input("请输入密钥:")) str_decrypt="" for word in str: if word==" ": #遇到空格选择不解密 word_decrypt=" " else: word_decrypt=chr((ord(word)-ord("A") -n) %26 +ord("A")) str_decrypt = str_decrypt+word_decrypt print("明文为:",str_decrypt)

在这里插入图片描述

高阶

我们嵌入一个多分支结构,使得程序能够同时判定大小写字母,这里只列出加密代码,解密只需将“+n”替换为“-n”即可。

str=input("请输入明文:") n=int(input("请输入密钥:")) str_encrypt="" for letter in str: if "a"


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有