培根密码加解密
来源:互联网 发布:手机淘宝在哪看退货率 编辑:程序博客网 时间:2024/04/29 05:51
0x00 介绍
培根密码实际上就是一种替换密码,根据所给表一一对应转换即可加密解密
它的特殊之处在于:可以通过不明显的特征来隐藏密码信息,比如大小写、正斜体等,只要两个不同的属性,密码即可隐藏
0x01 代码实现
脚本很简单,就是建立对应关系,对密文,或者明文进行相应的替换即可
需要注意的是输入的都应该是小写字母,在脚本里也有说明
python脚本如下:
#!/usr/bin/python# -*- coding: utf-8 -*-import realphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']first_cipher = ["aaaaa","aaaab","aaaba","aaabb","aabaa","aabab","aabba","aabbb","abaaa","abaab","ababa","ababb","abbaa","abbab","abbba","abbbb","baaaa","baaab","baaba","baabb","babaa","babab","babba","babbb","bbaaa","bbaab"]second_cipher = ["aaaaa","aaaab","aaaba","aaabb","aabaa","aabab","aabba","aabbb","abaaa","abaaa","abaab","ababa","ababb","abbaa","abbab","abbba","abbbb","baaaa","baaab","baaba","baabb","baabb","babaa","babab","babba","babbb"]def encode(): string = raw_input("please input string to encode:\n") e_string1 = "" e_string2 = "" for index in string: for i in range(0,26): if index == alphabet[i]: e_string1 += first_cipher[i] e_string2 += second_cipher[i] break print "first encode method result is:\n"+e_string1 print "second encode method result is:\n"+e_string2 returndef decode(): e_string = raw_input("please input string to decode:\n") e_array = re.findall(".{5}",e_string) d_string1 = "" d_string2 = "" for index in e_array: for i in range(0,26): if index == first_cipher[i]: d_string1 += alphabet[i] if index == second_cipher[i]: d_string2 += alphabet[i] print "first decode method result is:\n"+d_string1 print "second decode method result is:\n"+d_string2 returnif __name__ == '__main__': while True: print "\t*******Bacon Encode_Decode System*******" print "input should be lowercase,cipher just include a b" print "1.encode\n2.decode\n3.exit" s_number = raw_input("please input number to choose\n") if s_number == "1": encode() raw_input() elif s_number == "2": decode() raw_input() elif s_number == "3": break else: continue
0x02 不足
因为windows下编码经常乱码,去做编码的处理比较烦,脚本的提示就换成了英语,谁想改就自己改一下吧
0 0
- 培根密码加解密
- 培根密码
- 培根密码
- weblogic密码加解密
- DES加密码和解密
- openfire ofuser 密码加解密
- jboss7数据源密码加解密
- 维吉尼亚密码加解密(no 文件加解密)
- 凯撒密码加解密的方法。
- C# DES加密码解密类
- 公共代码之密码加解密
- 凯撒密码加解密的方法
- php,js RSA加解密密码
- asp.net&C#各种加密码解密
- spring 属性文件加密码及解密
- java实现PlayFair密码加解密算法
- 使用Druid加解密数据库密码
- nova 注入密码base64 加解密
- 浅拷贝与深拷贝的区别
- Windows下scala环境搭建
- spring mvc使用@InitBinder 标签对表单数据绑定
- MySQL从被虐到成长
- SpringMVC之类型转换@initBinder
- 培根密码加解密
- 有关Java的学习记录One
- AOSP是如何管理代码的
- 51nod 1428 活动安排问题
- 找出3的最大倍数的整数集合
- 安装nodejs
- git的初步了解
- SVN之CornerStone使用
- 排序算法