java加密解密算法位运算

一、实例说明

本实例通过位运算的异或运算符 “ ^ ” 把字符串与一个指定的值进行异或运算,从而改变每个字符串中字符的值,这样就可以得到一个加密后的字符串。当把加密后的字符串作为程序输入内容,异或运算会把加密后的字符串还原为原有字符串的值。效果图如下:





二、实现过程

 1 package com.itxxz;
 2 
 3 import java.util.Scanner;
 4 
 5 /**
 6  * java加密解密算法
 7  * 
 8  * @author 螃蟹
 9  * 网站:IT学习者
10  * 网址:http://itxxz.com
11  *
12  */
13 public class Demo {
14 
15     public static void main(String[] args){
16         Scanner scan = new Scanner(System.in);
17         boolean flag = true;
18         String msg = "";
19         while(true){
20             if(flag){
21                 msg = "加密";
22                 flag = false;
23             }else{
24                 msg = "解密";
25                 flag = true;
26             }
27             System.out.println("请输入需要"+msg+"的字符串:");
28             String password = scan.nextLine();
29             char[] array = password.toCharArray();
30             for(int i = 0;i<array.length;i++){
31                 array[i] = (char)(array[i]^20000);
32             }
33             System.out.println(msg+"结果如下:");
34             System.out.println(new String(array));
35         }
36         
37     }
38 }
 


三、要点说明

本实例的关键技术是异或运算。如果某个字符(或数值)x与一个数值m进行异或运算得到y,则在用y与m进行异或运算就可以还原为x,因此应用这个原理可以实现加密和解密功能。

转自:http://itxxz.com/a/javashili/2014/0625/112.html

原文地址:https://www.cnblogs.com/zuzwn/p/3809111.html