"
CTF比赛中,MISC题型中有时候会考到一种一种叫做“猪圈密码”(Pigpen_chiper)的简单加密方式。网上有个表可以对照地来实现解密,但是实际中太慢不符合竞速思维,于是写一个小脚本来实现。
0x01 何为猪圈密码
猪圈密码【pigpen cipher】(亦称朱高密码、共济会暗号、共济会密码或共济会员密码),是一种以格子为基础的简单替代式密码。即使使用符号,也不会影响密码分析,亦可用在其它替代式的方法。
优点:简单,方便,容易书写,适合书面上的密码通讯,并且好记。
缺点:""太出名""密码最怕的就是太出名,一但出名它就会毫无秘密可言,知道的人就知道,不//代码效果参考:https://v.youku.com/v_show/id_XNjQwNTgyMjM1Mg==.html
知道的人就不知道。0x02 解密参照表
(左右对照即可解密)
0x03 python实现
先上一张效果图吧:
下面是代码:
# * coding:utf-8 *
# 0h1in9e【
import sys
def pigpen_chiper(letter):
a = ""abcdefghistuv""
b = ""jklmnopqrwxyz""
if letter.isalpha():
if letter in a:
n = a.find(letter)
pig = b【n】
else:
n = b.find(letter)
pig = a【n】
return pig
//代码效果参考:https://v.youku.com/v_show/id_XNjQwMDE3NDQ4MA==.html
else:return letter
def pigpen(word):
""""""
pigpen chiper
""""""
res = ''
for letter in word:
res += pigpen_chiper(letter)
return res
if name == 'main':
if len(sys.argv) != 2:
print ""Pigpen_chiper decode 猪圈密码解密器v1.0 BY 0h1in9e""
print ""Usage: ""+sys.argv【0】+"" 'ocjp{zkii}'""
else:
print pigpen(sys.argv【1】)
转载(
"