首页 > 代码库 > java加密解密算法位运算

java加密解密算法位运算

一、实例说明

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





二、实现过程

 1 package com.itxxz; 2  3 import java.util.Scanner; 4  5 /** 6  * java加密解密算法 7  *  8  * @author 螃蟹 9  * 网站:IT学习者10  * 网址:http://www.itxxz.com11  *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://www.itxxz.com/a/javashili/2014/0625/112.html