位運算在讀取某幾位數字和加密中的應用

lm648120201發表於2017-06-10

如二進位制數 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

相關文章