利用異或運算子進行加密

2022-08-31 11:18:06 字數 739 閱讀 5878

首先,什麼是是異或運算:參與運算的兩個值,如果相應的bit位

相同,則結果為0,否則為1.

比如在計算機的二進位制中,1異或0的結果為1,0異或0的結果為0,1異或1的結果為1,。

總結來說:真異或假結果為真,假異或假結果為假,真異或真結果為真。

運算子:^

運算通式:結果=表示式一^表示式二

ps:表示式必須是整數

而在加密解密中,每個字元在計算機中都是二進位制存在,所以明文和秘鑰每個異或運算後為二進位制,只需轉換成字元型再相加即為

加密後的密文

如以下題目

輸入明文和密文,通過異或運算實現加密,並輸出密文:

解決步驟:

1,定義好要使用的變數

2、輸入明文金鑰

3、實現加密(注意:異或加密首要條件密文明文長度相同)

4、輸出結果

執行後:

大功告成!!(如有興趣,可用一樣的方法實現解密)

總結:這程式偏向於考驗基礎,比如型別的轉換,字元型在計算機的存在形式,異或運算的概念

利用異或進行加密,運算

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 encr...

異或運算子

表示當兩個數的二進位制表示,進行異或運算時,當前位的二進位制相同為0,不同為1.表示為 特點 0異或任何數,是任何數 1異或任何數,任何數取反 任何乙個數字異或自己都等於0 面試題 乙個整型陣列中除了兩個數字之外,其他的數字都出現了兩次。試找出這兩個只出現一次的數字。劍指offer 例如,陣列 中,...

異或運算 運算子 對異或運算子的認識以及初次運用

1 0 1 相同的二進位制位相異或結果不變.int x 3 int y 4 x x y x 3 4 y x y y 3 4 4 3 x x y x 3 4 3 4 上述運算的結果是 x和y的值互換.而過程中並沒有使用別的運算子.即所說的沒有借助其它變數就實現了兩個變數的交換.異或運算是與 並列的位運...