`
cakin24
  • 浏览: 1396950 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

python版实现凯撒密码

阅读更多

一 介绍

凯撒密码是一种非常古老的加密方法,相传当年凯撒大地行军打仗时为了保证自己的命令不被敌军知道,就使用这种特殊的方法进行通信,以确保信息传递的安全。他的原理很简单,说到底就是字母于字母之间的替换。下面让我们看一个简单的例子:“baidu”用凯撒密码法加密后字符串变为“edlgx”,它的原理是什么呢?把“baidu”中的每一个字母按字母表顺序向后移3位,所得的结果就是刚才我们所看到的密文。
二 代码
import os
#-*-coding:utf-8-*-
#==================================================================#
#         凯撒密码(caesar)是最早的代换密码,对称密码的一种                #
#   算法:将每个字母用字母表中它之后的第k个字母(称作位移值)替代            #
#==================================================================#
def encryption():
    str_raw = input("请输入明文:")
    k = int(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 = input("请输入密文:")
    k = int(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 = input("请选择:")
    if choice == "1":
        encryption()
    elif choice == "2":
        decryption()
    else:
        print (u"您的输入有误!")
 
三 运行结果
1. 加密
2. 解密
请选择:1
请输入明文:cakin
请输入位移值:3
加密结果为:fdnlq
1. 加密
2. 解密
请选择:2
请输入密文:fdnlq
请输入位移值:3
解密结果为:cakin
分享到:
评论

相关推荐

    python版实现凯撒密码.docx

    以下是一个使用Python实现凯撒密码的例子,包含加密和解密功能: ```python import os # -*- coding:utf-8 -*- # 凯撒密码(caesar)是最早的代换密码,对称密码的一种 # 算法:将每个字母用字母表中它之后的第k个...

    凯撒密码加密和解密python实现源码.zip

    凯撒密码加密和解密python实现源码.zip凯撒密码加密和解密python实现源码.zip凯撒密码加密和解密python实现源码.zip凯撒密码加密和解密python实现源码.zip凯撒密码加密和解密python实现源码.zip凯撒密码加密和解密...

    Python实现凯撒密码加密.zip

    在压缩包中的"Python实现凯撒密码加密"文件,可能包含了详细的代码解释、示例以及可能的练习,帮助你更好地理解和实现凯撒密码的Python版本。通过阅读和实践这些内容,你可以巩固字符串操作、位运算以及基础加密算法...

    python代码实现凯撒密码加密示例

    python凯撒密码加密 凯撒密码是一种简单的替换密码,它通过将字母按照一定的位移量向前或向后进行替换来加密文本。用两个函数:caesar_encrypt 用于加密文本,caesar_decrypt 用于解密文本。用户输入要加密的文本和...

    PTA_python3_jmu-python-凯撒密码加密算法(csdn)————程序.pdf

    总的来说,这个Python3程序展示了如何使用基本的字符串和ASCII码操作来实现凯撒密码的加密过程。虽然这种加密方式在现代信息安全中已经不再安全,但它仍然是理解基础加密原理和编程逻辑的一个经典例子。在实际应用中...

    python怎么解决凯撒密码

    下面是一个示例代码,展示了如何在Python中实现凯撒密码的加密功能: ```python def caesar_cipher_encrypt(s, shift=3): encrypted_text = '' for c in s: if 'a' encrypted_text += chr((ord(c) - ord('a') ...

    Python之凯撒密码

    本教程将详细探讨Python实现凯撒密码的方法,以及相关知识点。 1. **凯撒密码原理** 凯撒密码是一种替换式加密技术,它通过将明文中的每个字母按照一个固定数量的位置进行移动来实现加密。例如,如果移动3个位置,...

    凯撒密码算法的实现

    实现凯撒密码通常分为两个步骤:加密和解密。 1. **加密过程**: - 首先,定义一个字母表,通常为26个英文字母(不考虑大小写和标点符号)。 - 设定一个整数偏移量,表示字母在字母表上的移动位数。 - 对于明文...

    利用python实现凯撒密码加解密

    利用python实现凯撒密码加解密实验目的实验内容实验环境实验步骤实验代码及运行结果1.import this运行结果原理分析2.实现凯撒加解密过程实验代码运行结果写在最后 实验目的 应用Python程序设计语言的相关知识,理解...

    Python实现凯撒密码加密解密

    凯撒密码(Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成...

    Python实现凯撒密码报告.docx

    **Python实现凯撒密码** 凯撒密码是一种历史悠久的加密技术,最早由古罗马军事领袖朱利叶斯·凯撒使用,用于保护军事通信。它的基本原理是将明文中每个字母按照一个固定的距离(偏移量)在字母表上平移,从而达到...

    python解决凯撒密码(csdn)————程序.pdf

    "python解决凯撒密码(csdn)————程序",该描述进一步强调了文章的主题,即使用Python语言来实现凯撒密码的加密和解密。 标签解读 由于没有提供标签,因此我们可以根据文章的内容来添加相应的标签,例如...

    凯撒密码算法实验

    1. **编写程序**:实验要求编写一个程序来实现凯撒密码的加密和解密功能。 2. **程序流程**:用户可以选择加密、解密或退出。对于加密和解密选项,需要输入密钥和文本(明文或密文)。 3. **加密过程**:对于明文中...

    凯撒密码加解密.py

    利用python3.6.5实现凯撒密码加解密。输入待加密文本(小写英文字符),程序输出加密结果和解密结果。

    凯撒密码python爬虫python爬虫

    在Python编程中,我们可以利用其简洁的语法实现凯撒密码的加密与解密功能。结合“python爬虫”,我们可以将这个加密技术应用到网络数据的抓取和保护中。 【描述】:“python爬虫”是指使用Python编程语言编写的一种...

Global site tag (gtag.js) - Google Analytics