天天看点

如何利用异或运算进行简单加密解密

利用“^”异或运算对字符串进行加密

思路: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,如需转载请自行联系原作者

继续阅读