int a = 20
;int b = 30
;int a = a ^b;
int b = a ^ b; 獲取b的值
int a = b ^ a
; 獲取a的值
string encrytion = "我是加密之前的資料";
char encrytionchars = encrytion.tochararray();
for(int i=0;ichar) (encrytionchars[i]^2000);
}system.out.println(new string(encrytionchars));
for(int i=0;ichar) (encrytionchars[i]^2000);
}system.out.println(new string(encrytionchars));
本例項的關鍵技術是使用異或運算,如果某個字元(或數值)x與乙個數值m進行異或運算得到y,則在用y與m進行異或運送就可以還原x 利用異或運算子進行加密
首先,什麼是是異或運算 參與運算的兩個值,如果相應的bit位 相同,則結果為0,否則為1.比如在計算機的二進位制中,1異或0的結果為1,0異或0的結果為0,1異或1的結果為1,總結來說 真異或假結果為真,假異或假結果為假,真異或真結果為真。運算子 運算通式 結果 表示式一 表示式二 ps 表示式必須...
異或運算 有趣的異或運算
異或運算可以看做是沒有進製的加法,按位異或運算,相同為0,不同為1。0 0 0 0 1 1 1 0 1 1 1 0 觀察運算結果我們發現,當與0做異或運算時,另一元值不變 而與1做異或運算時,另一元值值取反。根據以上異或運算的特徵,可以有以下用途,除方便直觀外,運算效能也更加優異。1 變數重置0 假...
(與運算) (或運算) (異或運算)
即 兩個運算元同為 1 的時候為1 0 0 0 1 0 1 0 1 1 1 1 1 即 兩個運算元中至少有乙個為 1 的時候為1 0 0 0 0 1 1 1 0 1 1 1 0 即 兩個運算元不同的時候為1 運算規則 1 0 0 1 即 對乙個二進位制數按位取反,即將0變1,1變0。將乙個運算物件的...