IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 凯撒加密的实现(Python) -> 正文阅读

[网络协议]凯撒加密的实现(Python)

????????凯撒明文的要点在于循环移位,在计算机中实现利用ASCII码增加或者减少来对明文进行加密或者解密,凯撒加密类比于一次函数y=x+a,其中x代表字符的ASCII码值与a或者A的ASCII码值的差,a代表循环移位的位数。

????????

import time
def encryption(word,key):
    list_text = list(word)
    encrypt = []
    for letter in list_text:
        if letter.isalpha():#判断是否为英文字符
            if letter.isupper():#判断是否为大写
                text = letter.lower()#是大写就转化为小写
                n = chr(((ord(text) - ord("a") + key) % 26) + ord("a"))
                encrypt.append(n.upper())#加密后返还大写字符
            elif letter == " ":#加入输入明文中的空格
                encrypt.append(" ")
            else:
                n = chr(((ord(letter) - ord("a") + key) % 26) + ord("a"))
                encrypt.append(n)
    print(f"The Output is {''.join(encrypt)}!\n")
def decryption(word,key):#解密是加密的逆过程
    list_text = list(word)
    decrypt = []
    for letter in list_text:
        if letter.isalpha():
            if letter.isupper():
                text = letter.lower()
                n = chr(((ord(text) - ord("a") - key) % 26) + ord("a"))
                decrypt.append(n.upper())
            elif letter == " ":
                decrypt.append(" ")
            else:
                n = chr(((ord(letter) - ord("a") - key) % 26) + ord("a"))
                decrypt.append(n)
    print(f"The Output is {''.join(decrypt)}!\n")
type_writter = ['L','e','t',"'",'s',' ','P','l','a','y',' ','G','a','m','e','!']
for n in type_writter:
    time.sleep(0.4)
    print(n,end='')
time.sleep(1)
print("\n********凯撒明文********")
while True:
    time.sleep(1)
    choice = int(input('''Please enter your choice:
1.Encrypt The Word
2.Decipher The Word
3.End The program
Your Chioce:'''))
    if choice == 1:
        plaintext = input("Enter The Plaintext:")
        key = int(input("Enter the Key:"))
        time.sleep(1)
        encryption(plaintext,key)
    elif choice == 2:
        ciphertext = input("Enter The Ciphertext:")
        key = int(input("Enter the Key:"))
        time.sleep(1)
        decryption(ciphertext,key)
    else:
        time.sleep(1)
        print("The process is DONE!!!")
        break

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:52:13  更:2021-12-24 18:52:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:47:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码