zoukankan      html  css  js  c++  java
  • 【python密码学编程】7.暴力破解凯撒加密法

     1 # _*_ coding:utf-8 _*_
     2 #Caeser Ciper
     3 import pyperclip
     4 messgae = 'GUVF VF ZL FRPERG ZRFFTNR.'
     5 nums = range(1,27)
     6 mode = 'decrypt'    #模式是加密而非解密(decrypt)
     7 LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'    #常量要大写
     8 translated = ''
     9 for key in nums:
    10     translated =''    
    11     for symbol in messgae:
    12         if symbol in LETTERS:
    13             num = LETTERS.find(symbol)    #find()返回的是该字符在字符串中的位置
    14 
    15             if mode == 'encrypt':#判断当前是加密还是解密过程
    16                 num = num+key
    17             elif mode == 'decrypt':
    18                 num = num-key
    19 
    20             if num > len(LETTERS):#当处理后的数字脱离26个字母的数字范围后的处理
    21                 num = num - len(LETTERS)
    22             elif num < 0:
    23                 num = num + len(LETTERS)
    24 
    25             translated = translated + LETTERS[num]#空字符串一个个加上翻译后得到的字符
    26 
    27         else:
    28             #如果要翻译的字符不在26个大写字母的范围内
    29             translated =translated + symbol
    30 
    31     print key ,translated.lower()
    1 ftue ue yk eqodqf yqeesmq.
    2 estd td xj dpncpe xpddrlp.
    3 drsc sc wi combod woccqko.
    4 cqrb rb vh bnlanc vnbbpjn.
    5 bpqa qa ug amkzmb umaaoim.
    6 aopz pz tf zljyla tlzznhl.
    7 znoy oy se ykixkz skyymgk.
    8 ymnx nx rd xjhwjy rjxxlfj.
    9 xlmw mw qc wigvix qiwwkei.
    10 wklv lv pb vhfuhw phvvjdh.
    11 vjku ku oa ugetgv oguuicg.
    12 uijt jt nz tfdsfu nftthbf.
    13 this is my secret messgae.
    14 sghr hr lx rdbqds ldrrfzd.
    15 rfgq gq kw qcapcr kcqqeyc.
    16 qefp fp jv pbzobq jbppdxb.
    17 pdeo eo iu oaynap iaoocwa.
    18 ocdn dn ht nzxmzo hznnbvz.
    19 nbcm cm gs mywlyn gymmauy.
    20 mabl bl fr lxvkxm fxllztx.
    21 lzak ak eq kwujwl ewkkysw.
    22 kyzj zj dp jvtivk dvjjxrv.
    23 jxyi yi co iushuj cuiiwqu.
    24 iwxh xh bn htrgti bthhvpt.
    25 hvwg wg am gsqfsh asgguos.
    26 guvf vf zl frperg zrfftnr.
    [Finished in 0.2s]

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

  • 相关阅读:
    .NET中栈和堆的比较 #1
    Asp Interview Questions and Answers
    c#缓存介绍(转)
    [转]Post和Get的区别(兼谈页面间传值的方式)
    .NET垃圾回收机制 转
    zoj 3008 3010
    zoj 2912 Average distance
    TinyMCE,强大的网页编辑器插件
    zoj 3587 Marlon's String
    SOJ和FOJ的比赛
  • 原文地址:https://www.cnblogs.com/Archimedes/p/7064354.html
Copyright © 2011-2022 走看看