• 【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]

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

  • 相关阅读:
    Javascript Property Names
    Java泛型
    Activity 与 Task
    使用ddns搭建免费服务器
    DDNS
    SimpleAdapter用法
    Java KeyNote
    Android无法访问本地服务器(localhost/127.0.0.1)的解决方案
    Android 添加网络权限
    Java 匿名内部类
  • 原文地址:https://www.cnblogs.com/Archimedes/p/7064354.html
Copyright © 2020-2023  润新知