天天看點

如何利用異或運算進行簡單加密解密

利用“^”異或運算對字元串進行加密

思路:1.先建立字元串輸入的Scanner;2.通過char[] array = password.toCharArray();// 擷取字元數組;3.周遊字元數組,按目前了解要用到周遊:數組所有元素進行通路,比如你要輸出數組裡所有的資訊時,就要用到 ;4.進行異或運算

詳細代碼貼出來:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<code>package</code> <code>com.lixiyu;</code>

<code>import</code> <code>java.util.Scanner;</code>

<code>public</code> <code>class</code> <code>Example {</code>

<code>public</code> <code>static</code> <code>void</code> <code>main(</code><code>String</code><code>[] args){</code>

<code>    </code><code>Scanner sca=</code><code>new</code> <code>Scanner(System.</code><code>in</code><code>);</code>

<code>    </code><code>System.out.println(</code><code>"請輸入一個英文字元串或解密字元串"</code><code>);</code>

<code>    </code><code>String</code> <code>line=sca.nextLine();</code><code>//擷取使用者輸入資訊</code>

<code>    </code><code>char[] array=line.toCharArray();</code><code>//擷取字元數組</code>

<code>    </code><code>for</code> <code>(</code><code>int</code> <code>i=</code><code>0</code><code>;i&lt;array.length;i++){</code><code>//曆遍字元數組</code>

<code>        </code><code>array[i]=(char) (array[i]^</code><code>20000</code><code>);</code><code>//對數組每個元素進行異或運算</code>

<code>        </code><code>}</code>

<code>    </code><code>System.out.println(</code><code>"加密解密結果如下:"</code><code>);</code>

<code>    </code><code>System.out.println(</code><code>new</code> <code>String</code><code>(array));</code><code>//輸出密鑰</code>

<code>}</code>

随便輸入一字元串運作結果:

<code>請輸入一個英文字元串或解密字元串</code>

<code>abcdefghijk</code>

<code>加密解密結果如下:</code>

<code>乁乂乃乄久乆乇麼義乊之</code>

反之把加密結果複制粘貼到輸入框,也可以解密:

加密原來可以這麼簡單!

本文轉自lixiyu 51CTO部落格,原文連結:http://blog.51cto.com/lixiyu/1302853,如需轉載請自行聯系原作者

繼續閱讀