異或運算的簡單加解密應用

2021-08-31 16:00:45 字數 882 閱讀 8005

xor運算的逆運算是它本身,也就是說兩次異或同乙個數最後結果不變,即(a xor b) xor b = a。xor運算可以用於簡單的加密,比如我想對我mm說1314520,但怕別人知道,於是雙方約定拿我的生日19880516作為金鑰。1314520 xor 19880516 = 20665500,我就把20665500告訴mm。mm再次計算20665500 xor 19880516的值,得到1314520,於是她就明白了我的企圖。

異或的定義:相同位不同則為1,相同則為0。

值a:   00101

運算: ^

值b: 11100

結果x: 11001

運算: ^

值b: 11100

結果y: 00101

//值a通過兩次與同乙個值b進行異或運算 得出的結果是其自身

//拆開來看就是 值a與0(值b^值b=0)做異或運算

通過這個原理運用php可實現簡單高效的加密

//加密解密都呼叫此方法 不同是是$str即可以是加密字元也可以是解密字元

function xorencrypt( $str, $key )

return $cipher;

}

交換兩個整數 如何在不引入第三個變數的前提下對變數$a與$b進行互換

$a = '123';

$b = '456';

echo $a,'_',$b,'

'; $a = $a^$b;

$b = $b^$a;

$a = $a^$b;

echo $a,'_',$b,'

';

所有這些都有乙個大前提就是key的長度一定要大於等於字串的長度

java異或加解密及其改善

最近在做android的逆向分析,我主要是負責網路請求的逆向分析,在分析的過程中必然會碰到資料加解密的過程。其中最常見的加解密就是異或。異或加密是資料加密中比較簡單的一種,也是比較常用的一種方法。所謂異或就是一種位運算,比如1 1 0 1 0 1,也就是兩個運算位為同為 1 或 0 則返回 0 若兩...

對檔案進行異或加解密的方法

資源加密實際上是對遊戲所用到的資源進行二進位製碼的轉換,這樣別人就無法獲取到正確的資源。在遊戲進行的時候通過對資源的解碼來獲取正確的資源,然後進行顯示。首先用於加密的演算法必須可以進行解密,不然的話就無法進行資源的載入了。cocos2d x資源加密和解密 一 鵲起驚風 雀巢 資源的加密 資源的加密過...

異或 運算的應用

1.異或運算 關於異或,有兩種計算。一是邏輯異或,一是按位異或。所謂邏輯異或就是運算數是true或者false。比如p1 true,p2 true,p1 p2。按位異或則是將變數轉化為二進位制,每一位分別異或。相同為0,不同為1。按位運算如 優先順序位於關係運算子之後,邏輯運算子之前。好像不經常強調...