CTF比赛中,MISC题型中有时候会考到一种一种叫做“猪圈密码”(Pigpen_chiper)的简单加密方式。网上有个表可以对照地来实现解密,但是实际中太慢不符合竞速思维,于是写一个小脚本来实现。

0x01 何为猪圈密码

猪圈密码[pigpen cipher](亦称朱高密码、共济会暗号、共济会密码或共济会员密码),是一种以格子为基础的简单替代式密码。即使使用符号,也不会影响密码分析,亦可用在其它替代式的方法。

优点:简单,方便,容易书写,适合书面上的密码通讯,并且好记。
缺点:"太出名"密码最怕的就是太出名,一但出名它就会毫无秘密可言,知道的人就知道,不知道的人就不知道。

0x02 解密参照表


(左右对照即可解密)

0x03 python实现

先上一张效果图吧:

下面是代码:

# _*_ coding:utf-8 _*_
# 0h1in9e[https://www.ohlinge.cn]import sysdef 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 pigelse:return letterdef pigpen(word):"""pigpen chiper"""res = ''for letter in word:res += pigpen_chiper(letter)return resif __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])

转载(https://www.ohlinge.cn/ctf/pigpen_chiper.html)

转载于:https://www.cnblogs.com/Oran9e/p/7851780.html

猪圈密码python脚本实现相关推荐

  1. python猪代码_猪圈密码python脚本实现

    CTF比赛中,MISC题型中有时候会考到一种一种叫做"猪圈密码"(Pigpen_chiper)的简单加密方式.网上有个表可以对照地来实现解密,但是实际中太慢不符合竞速思维,于是写一 ...

  2. 破解栅栏密码python脚本

    今天遇到一个要破解的栅栏密码,写了个通用的脚本 1 #!/usr/bin/env python 2 # -*- coding: gbk -*- 3 # -*- coding: utf_8 -*- 4 ...

  3. python密码爆破脚本_批量爆破SSH密码 python脚本

    import paramiko import re from IPy import IP import sys,ftplib,socket my_re = re.compile(r'[A-Za-z]' ...

  4. python调用nacos账号密码,Python脚本,使用私钥(如果可用)或用户名密码

    嘿,丹尼,试着跟着斯内普.注意:键值来自配置yml是RSA私钥文件的完整路径(如:/home/user/.ssh/id_RSA).在import paramiko import StringIO im ...

  5. 在Azure Data StudioSQL笔记本中使用Python脚本加密密码

    This article explores the Python scripts for encrypting and decrypting passwords in SQL Server using ...

  6. 用Python脚本能获取Wifi密码么?能。

    注意,本文不是破解 WIFI 密码,当然你把程序发给别人再获取对方密码,那是社会工程学. 文章目录 ⛳️ 实战场景与 `subprocess` 模块介绍 ⛳️ Python 获取本地 Wifi 密码 ...

  7. python脚本-暴力破解无线网弱密码

    关注我的博客,访问更多内容! 背景:学校最近重新架设无线网一体化,而初始密码为弱密码(6位数字),下面我们要做的就是通过暴力破解的方式破解弱密码!(所以建议大家以后无论是在注册还是什么情况,都千万不要 ...

  8. python如何隐藏密码_在python脚本中隐藏密码(仅限不安全的混淆)

    Base64编码是在标准库中,并将停止肩膀冲浪者: >>> import base64 >>> print base64.b64encode("passw ...

  9. 使用 Mitmdump 与 Python 脚本进行密码嗅探

    很久没有写文章了,一是没空,二是几乎忘了还有这回事.这篇应该是年前的最后一发吧!那么今天就来聊一聊我最近关于网络抓包的一些实践(其实我对网络安全领域知之甚少).当然,大家最熟知的工具可能是 Wires ...

最新文章

  1. Java控制台如何输入一行、多行?
  2. python对字符串和集合的内存垃圾回收机制
  3. c语言用指针两个字母交换,c语言指针基础之用指针交换两个数(代码实例)
  4. 决策树(西瓜书学习)
  5. OneMap Client API
  6. Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.4.4 延迟初始化的bean...
  7. SCP使用技巧-递归排除文件
  8. python 类 对象 方法 应用_Python 定制类与其对象的创建和应用
  9. Golang通过syscall调用windows dll方法
  10. java 简单数组_Java 数组分析及简单实例
  11. openeuler学习指南
  12. 数组和集合的区别有哪些?
  13. Java——常用类(String)
  14. Android Studio的怪错:AndroidManifest.xml unresolve symbol package/connot resolve symbol/Animations
  15. 优质城市宣传片方案怎样写?
  16. sagemath matlab,开源跨平台数学软件SageMath v8.1
  17. Vue2:使用Vant UI实现网易云评论页上拉和下拉刷新
  18. 3D打印人体骨骼?这家哈佛大学孵化的公司要为中国医生开发自己的软件平台...
  19. 密码学中的数学基础(一)
  20. python求100内五的倍数_100一百以内5的倍数有哪些

热门文章

  1. 同济计算机考研专业课,同济大学计算机考研难不难
  2. 从音乐的角度去理解dB
  3. pdm文件生成的几种方式
  4. SuperMap iClient3D for WebGL教程(空间分析)- 地表开挖及修改
  5. 同一电脑上安装且使用vue2.0和vue3.0版本
  6. #软件测试###浅谈几个UI自动化测试工具
  7. 一位软科大一的周结(week 1)
  8. 科普_10MB宽带上传下载速度达到多少才算达标
  9. 闫氏dp分析法学习总结
  10. QQ+微信+支付宝收款一码付这么神奇,如何自己制作收款二维码