python实现用伏羲八卦对ASCII码进行加密
八卦的阴阳刚好可以跟计算机中的“0”,“1”相对,所以我试着将ASCII码表中包含的字符转化为用八卦卦象表示,并用python制作了一个简单的加密解密程序。因为最近才接触编程,技术浅陋,某些段落可能使人血压飙升(其实我自己就看着很难受,但苦于能力不足,找不到好的替代方法)。
众所周知,ASCII码如果表示为二进制,一般表示为八位二进制数字(一个字节)。
如小写字母a表示为01100001。因为ASCII码第一位都是0,所以我将0去掉,变为1100001。然后按照1-3-3结构分割,成为1-100-001。
然后进行转化
首先因为第一个部分只会是“1”或“0”,所以把第一个部分的“0”转化为“逆”,“1”转化为“正”。就得到 正-100-001。
然后把后两个部分的“1”对应为“阳”,“0”对应为“阴”,可以得到 正-阳阴阴-阴阴阳。
最后按照卦象,阳阴阴对应艮卦,阴阴阳对应震卦,所以最后得到的结果是 正-艮-震,即正艮震。
至此,字母a对应为“正艮震”。
以下为加密/解密程序源码。
import time
codelist = []
fuxi = ['坤', '震', '坎', '兑', '艮', '离', '巽', '乾']
Judge = int(input('扣1加密,扣0解密'))
if Judge == 1:strlist = input("在此输入要加密的字符(仅支持ASCII码支持的字符)")for character in strlist:if len(bin(ord(character)).replace('0b', '')) == 7 :codelist.append(str(bin(ord(character)).replace('0b','')))else:codelist.append('0'+str(bin(ord(character)).replace('0b', '')))for code in codelist:code3 = []code2 = list(code)if code2[0] == '0':cncode0 = '逆'else:cncode0 = '正'cncode1 = str(fuxi[int(str(code2[1]+code2[2]+code2[3]), 2)])cncode2 = str(fuxi[int(str(code2[4]+code2[5]+code2[6]), 2)])cncode = cncode0+cncode1+cncode2print(cncode, end='~')
elif Judge == 0:string = input("在此输入要解密的密码")cncodelist = string.split('~')del cncodelist[-1]for cncode in cncodelist:cncodesplit = list(cncode)if cncodesplit[0] == '逆':code1 = '0'else:code1 = '1'if len(str(bin(fuxi.index(cncodesplit[1])).replace('0b', ''))) == 3:code2 = str(bin(fuxi.index(cncodesplit[1])).replace('0b', ''))elif len(str(bin(fuxi.index(cncodesplit[1])).replace('0b', ''))) == 2:code2 = '0'+str(bin(fuxi.index(cncodesplit[1])).replace('0b', ''))else :code2 = '00'+str(bin(fuxi.index(cncodesplit[1])).replace('0b', ''))if len(str(bin(fuxi.index(cncodesplit[2])).replace('0b', ''))) == 3:code3 = str(bin(fuxi.index(cncodesplit[2])).replace('0b', ''))elif len(str(bin(fuxi.index(cncodesplit[2])).replace('0b', ''))) == 2:code3 = '0'+str(bin(fuxi.index(cncodesplit[2])).replace('0b', ''))else :code3 = '00'+str(bin(fuxi.index(cncodesplit[2])).replace('0b', ''))code = code1+code2+code3character = chr(int(code, 2))print(character,end='')
time.sleep(0.5)
input('')
附带一个加密的例子:
这是B站首页网址:哔哩哔哩 (゜-゜)つロ 干杯~-bilibili
这是加密后的效果:正离坤~正巽艮~正巽艮~正巽坤~正巽兑~逆乾坎~逆离乾~逆离乾~正巽乾~正巽乾~正巽乾~逆离巽~正艮坎~正离震~正离艮~正离震~正艮坎~正离震~正离艮~正离震~逆离巽~正艮兑~正离乾~正离离~逆离乾~
python实现用伏羲八卦对ASCII码进行加密相关推荐
- 【python】将字符串转换为十进制ASCII码
名副其实,将字符串转换为一个个十进制ASCII码的操作,本文章用python2.7的环境去完成 先上脚本 print(map(ord,"hello world")) 这样就能把一整 ...
- python加密规则ascii码值加5_Python使用编码加密输入数据
1.指定方式加密数据 ''' 能够加密的内容是英文和汉字.同时加密并且解密 就是说,一段话中既有中文又有英文,标点符号不用处理. 加密规则,获取ascii码数字,中间用|分割 # 思路提示: prin ...
- python汉字转到ascii码_python中字母与ascii码的相互转换
在做python编程时,碰到了需要将字母转换成ascii码的,原本以为用Int()就可以直接将字符串转换成整形了,可是int()带了一个默认参数,base=10,这里表示的是十进制,若出现字母,则会报 ...
- python Unicode转ascii码的一种方法
缘起 看到这样的数据:Marek Čech.Beniardá怎样变成相对应的ascii码呢 解决 import unicodedata s = u"Marek Čech" #(u表 ...
- python 语言, 详解fromstring 函数 -------------从字符串到Ascii 码的转换
先来个小例子: test = "abcdef" temp = numpy.fromstring(test,dtype=numpy.int8) print(temp) 结果为:[ 9 ...
- python中字母用什么表示_python中字母与ascii码的相互转换
在做python编程时,碰到了需要将字母转换成ascii码的,原本以为用Int()就可以直接将字符串转换成整形了,可是int()带了一个默认参数,base=10,这里表示的是十进制,若出现字母,则会报 ...
- python基础整理——ASCII码、Unicode、utf-8、gbk
2019独角兽企业重金招聘Python工程师标准>>> 编码的问题其实是各国语言多样性造成的,最初的计算机是美国发明的,而计算机只能处理数据,不能够处理文本文档.因为计算机只能处理数 ...
- 关于Python ord()和chr()返回ASCII码和Unicode码的看法
刚开始学这两个函数的时候,看到书上说的是返回Unicode码, 但是自己去百度之后,发现很多人都说返回是ASCII码 为什么会这样呢? 那么为了不误解 ,我们先介绍下Unicode码和ASCII码 A ...
- python汉字转到ascii码_python中ASCII码字符与int之间的转换方法
ASCII码转换为int:ord('A') 65 int转为ASCII码:chr(65) 'A' 题目内容: 实现一个凯撒密码的变种算法,对输入字符串进行加解密处理 把字母a-z分别循环对应为相距13 ...
最新文章
- 关于学习Python的一点学习总结(47->静态方法和类方法)
- matlab caxis 刻度,[求助]MATLAB画图问题,caxis.m的问题
- Will Wright总是能给我们带来惊奇啊
- CSP认证201409-3	字符串匹配[C++题解]:字符串处理
- jquery获取一个table中的一行的每个td的内容
- Hadoop2.7.6在Windows7单机部署
- typeScript模块四
- java 如何判断余数_用java判断一个数是不是回文数!
- python线性链表_线性表 (单链表、循环链表-python实现)
- x1电源灯一直闪_小器鬼LED平板灯 | 明亮好光,洁净好家
- Camera 初始化(Open)一(FrameWork - Hal)
- SSM+Bootstrap+MYSQL演唱会网上订票系统
- Photoshop去除拍摄手写笔记背景
- 2019很艰难,2020会更好吗
- Electron-Builder打包时报错could not find: “C:\Users\XX\AppData\Local\Temp\t-bDWVX6\0-messages.nsh“
- 新媒体运营教程:如何用直播进行裂变+转化?
- php fgetc,PHP 文件读取 fread、fgets、fgetc、file_get_contents 与 file 函数
- python是什么意思中文、好学吗-零基础学python难吗?好学吗?
- 西门子S7-1200 HslcommunicationDemo大纲拆解
- 手机设备唤醒计算机,手机微信实现网络唤醒电脑(WOL),远程开机,WakeOnLan – 全栈笔记...