凯撒加密法的密钥是0~25的整数

# _*_ coding:utf-8 _*_
#Caeser Ciper
import pyperclip
messgae = 'this is my secret messgae.'
key = 13
mode = 'encrypt' #模式是加密而非解密(decrypt)
LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' #常量要大写
translated = ''
messgae = messgae.upper()
for symbol in messgae:
if symbol in LETTERS:
num = LETTERS.find(symbol) #find()返回的是该字符在字符串中的位置 if mode == 'encrypt':#判断当前是加密还是解密过程
num = num+key
elif mode == 'decrypt':
num = num-key if num > len(LETTERS):#当处理后的数字脱离26个字母的数字范围后的处理
num = num - len(LETTERS)
elif num < 0:
num = num + len(LETTERS) translated = translated + LETTERS[num]#空字符串一个个加上翻译后得到的字符 else:
#如果要翻译的字符不在26个大写字母的范围内
translated =translated + symbol print translated
pyperclip.copy(translated)
>>>
GUVF VF ZL FRPERG ZRFFTNR.
[Finished in 0.8s]

仅允许非商业转载,转载请注明出处

【python密码学编程】6.凯撒加密法的更多相关文章

  1. 【python密码学编程】5.反转加密法

    #Reverse Cipher message = 'there can keep a secret,if two of them are dead.' translated = '' i = len ...

  2. python 密码学编程

    最近在看一本书.名字是 python密码学编程.在此做一些笔记,同时也为有需要的人提供一些参考. *************************************************** ...

  3. python 密码学编程 -- 2

    接上一篇随笔 ******************************************************************** * quote : "http://i ...

  4. Python的一个解释凯撒密码的程序

    #!/usr/bin/env python # -*- coding: utf-8 -*- ''' { Title:CaserCode Author:naiquan Type:crypto Detai ...

  5. 【python密码学编程】7.暴力破解凯撒加密法

    # _*_ coding:utf-8 _*_ #Caeser Ciper import pyperclip messgae = 'GUVF VF ZL FRPERG ZRFFTNR.' nums = ...

  6. 【python密码学编程】8.使用换位加密法加密

    替代加密法:用其他字符替代原有字符 换位加密法:搞乱字符顺序 [换位加密法]需要一个密钥 仅允许非商业转载,转载请注明出处

  7. 《Python游戏编程快速上手》|百度网盘免费下载|Python基础编程

    <Python游戏编程快速上手>|百度网盘免费下载| 提取码:luy6 Python是一种高级程序设计语言,因其简洁.易读及可扩展性日渐成为程序设计领域备受推崇的语言. 本书通过编写一个个 ...

  8. ctf密码学------密文解码python脚本(凯撒解密)

    题目来源实验吧 分析题意,说是困在栅栏中,所以将字符栅栏解密看看有什么,利用工具CTFcraktools 得到三条密文 然后说是密码是凯撒,在将四栏依次凯撒解码,寻找可能的key,这里很显然,在尝试第 ...

  9. Python用户名密码登录系统(MD5加密并存入文件,三次输入错误将被锁定)及对字符串进行凯撒密码加解密操作

    # -*- coding: gb2312 -*- #用户名密码登录系统(MD5加密并存入文件)及对字符串进行凯撒密码加解密操作 #作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.co ...

随机推荐

  1. 亲测有效!一种完美动态阈值白平衡算法 Java实现。

    几年没发文了,重新拿起技术! 最近做图像处理,要自动处理颜色平衡问题,很多什么直方图优化之类的,都不完美.所以在博客园找到了这个前辈的文章. http://www.cnblogs.com/Images ...

  2. java基础(10) -线程

    线程 相当于轻量级进程,线程在程序中是独立的.并发的执行路径,每个线程有它自己的堆栈.自己的程序计数器和自己的局部变量.但是,与分隔的进程相比,进程中的线程之间的隔离程度要小.它们共享内存.文件句柄和 ...

  3. VI修改文件

    找到路径   vi  文件名    i  添加或修改 esc   :  wq  保存退出     --------------------------------------------------- ...

  4. HDOJ 2209 贪心

    翻纸牌游戏 Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  5. IntelliJ IDEA 调试(debug)时非常慢的原因

    IntelliJ  IDEA 开发时,发现有时Debug时tomcat启动的非常慢,需要等待超过20分钟,但有时就很快,经查找发现是断点设置问题, 若断点设置在方法名上,debug时就会非常慢, 如图 ...

  6. Visual Studio自动添加头部注释 -C#开发2010-2013验证

    在团队开发中,头部注释是必不可少的.但在开发每次新建一个类都要复制一个注释模块也很不爽,所以得想个办法让开发工具自动生成我们所需要的模板.....操作方法如下: 找你的vs安装目录, 比如我的是在D盘 ...

  7. .net 类型转换

    在.net  平台下类型有两种方式可以进行类型转换,强转或as转换.(有的说法是两种方式都进行强转,有两种强转方式). 如:typeA objA = (typeA)objB 或者使用另一种typeA ...

  8. kail的aircrack-ng 移到linux系统,Ubuntu等系统

    系统: debian (理论上基于debian的操作系统都可以, 如ubuntu, lubuntu, 等等) # apt-get install gcc make rt3070驱动安装: # apt- ...

  9. tensorflow elu函数应用

    1.elu函数 图像: 2.tensorflow elu应用 import tensorflow as tf input=tf.constant([0,-1,2,-3],dtype=tf.float3 ...

  10. android studio生成junitLibs

    apply plugin: 'com.android.application'android { compileSdkVersion 24 buildToolsVersion "25.0.0 ...