win10python
编写python3脚本web
Caesar
附件:svg
oknqdbqmoq{kag_tmhq_xqmdzqp_omqemd_qzodkbfuaz}
由文章的标题Caesar得知,这是一个凯撒加密的字符串。可是不知道偏移量,咱们知道凯撒加密偏移量一共有25种状况,写一个脚本遍历一下就好。经过凯撒加密的原理编写脚本,python3脚本以下:工具
# encoding: utf-8 """ @description: 凯撒密码 @author: baola @time: 2020-06-10 20:14 @file: CaesarCrypto.py @version: python3.8.1 """ def CaesarEncode(crypto_str, shift): """ 凯撒加密 :param crypto_str: 要加密的明文 :param shift: 偏移量 :return: 返回加密后的密文 """ result = "" num =int(shift) for word in crypto_str: ch = ord(word) if (ord('a') <= ch <= ord('z')): ch += num if ch > ord('z'): ch -= 26 if (ord('A') <= ch <= ord('Z')): ch += num if ch > ord('Z'): ch -= 26 result += chr(ch) return result def CaesarDecode(crypto_str, shift): """ 凯撒解密 :param crypto_str: 要解密的密文 :param shift: 偏移量 :return: 返回解密后问明文 """ result = "" num = int(shift) for word in crypto_str: ch = ord(word) if (ord('a') <= ch <= ord('z')): ch -= num if ch < ord('a'): ch += 26 if (ord('A') <= ch <= ord('Z')): ch -= num if ch < ord('A'): ch += 26 result += chr(ch) return result #解密:所有遍历 for i in range(1,26): print(i,":",CaesarDecode("oknqdbqmoq{kag_tmhq_xqmdzqp_omqemd_qzodkbfuaz}",i))
运行结果以下:学习
1 : njmpcaplnp{jzf_slgp_wplcypo_nlpdlc_pyncjaetzy} 2 : milobzokmo{iye_rkfo_vokbxon_mkockb_oxmbizdsyx} 3 : lhknaynjln{hxd_qjen_unjawnm_ljnbja_nwlahycrxw} 4 : kgjmzxmikm{gwc_pidm_tmizvml_kimaiz_mvkzgxbqwv} 5 : jfilywlhjl{fvb_ohcl_slhyulk_jhlzhy_lujyfwapvu} 6 : iehkxvkgik{eua_ngbk_rkgxtkj_igkygx_ktixevzout} 7 : hdgjwujfhj{dtz_mfaj_qjfwsji_hfjxfw_jshwduynts} 8 : gcfivtiegi{csy_lezi_pievrih_geiwev_irgvctxmsr} 9 : fbehushdfh{brx_kdyh_ohduqhg_fdhvdu_hqfubswlrq} 10 : eadgtrgceg{aqw_jcxg_ngctpgf_ecguct_gpetarvkqp} 11 : dzcfsqfbdf{zpv_ibwf_mfbsofe_dbftbs_fodszqujpo} 12 : cyberpeace{you_have_learned_caesar_encryption} 13 : bxadqodzbd{xnt_gzud_kdzqmdc_bzdrzq_dmbqxoshnm} 14 : awzcpncyac{wms_fytc_jcyplcb_aycqyp_clapwnrgml} 15 : zvybombxzb{vlr_exsb_ibxokba_zxbpxo_bkzovmqflk} 16 : yuxanlawya{ukq_dwra_hawnjaz_ywaown_ajynulpekj} 17 : xtwzmkzvxz{tjp_cvqz_gzvmizy_xvznvm_zixmtkodji} 18 : wsvyljyuwy{sio_bupy_fyulhyx_wuymul_yhwlsjncih} 19 : vruxkixtvx{rhn_atox_extkgxw_vtxltk_xgvkrimbhg} 20 : uqtwjhwsuw{qgm_zsnw_dwsjfwv_uswksj_wfujqhlagf} 21 : tpsvigvrtv{pfl_yrmv_cvrievu_trvjri_vetipgkzfe} 22 : soruhfuqsu{oek_xqlu_buqhdut_squiqh_udshofjyed} 23 : rnqtgetprt{ndj_wpkt_atpgcts_rpthpg_tcrgneixdc} 24 : qmpsfdsoqs{mci_vojs_zsofbsr_qosgof_sbqfmdhwcb} 25 : plorecrnpr{lbh_unir_yrnearq_pnrfne_rapelcgvba}
有运行结果得知偏移量为12时,获得咱们想要的flagui
学习凯撒加密,了解加密原理,编写脚本实现凯撒密码的加解密。加密
本人水平有限,文章不免存在疏漏和不足之处,欢迎广大读者朋友批评指正。spa