利用異或進行加密,運算

2021-08-07 16:12:04 字數 552 閱讀 7618

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。將乙個運算物件的...