位运算在读取某几位数字和加密中的应用

来源:互联网 发布:小白软件管家 知乎 编辑:程序博客网 时间:2024/05/22 12:55

如二进制数 t= 0b101111000110 前8位为value 后四位为address

原理:数字逻辑 A·1=A      A·0=0

address=t&0b1111=t&7=0b110=6

value=t>>2= 0b10111100=188


异或(XOR)运算用于加密Python中异或运算符为^,下文用^代替异或符号

原理:a^b^b=a

证明:对于一位的情况枚举所有情况 

a=0,b=1 a^b^b=0 成立

a=0,b=0 a^b^b=0 成立

a=1,b=1 a^b^b=1 成立

a=1,b=0 a^b^b=1 成立

多位情况以此类推

text=a

key=b

则ciphertext=a^b

解密时:ciphertext^key=text

原创粉丝点击