简单加密---位运算

来源:互联网 发布:javascript教程 正则 编辑:程序博客网 时间:2024/05/21 17:27

一、位运算

位运算用来操作整数基本类型中的的单个bit,即二进制位。

二、位运算类型

1、“与”操作 & :输入都为1的情况下,才为1,否则为0;
2、“或”操作 | :输入都为0的情况下,才为0,否则为1;
3、“异或”操作 ^ : a^b = a’b | ab’ (a’表示非a, ~a)
解释:
当a=1,b=1时,a^b = 0;
当a=1,b=0时,a^b = 1;
当a=0,b=1时,a^b = 1;
当a=0,b=0时,a^b = 0;

三、加密原理

将特定字符串转变为一组bit型数组,将每一个bit数据和特定bit数值进行异或,产生的数组转化为字符串,这样可以起到加密的效果。而解密的操作是,将加密操作重新进行一遍,这样就还原了之前的字符串。这是位运算(异或)的一个重要特性。

四、加密与解密实例

……
Scanner scan = new Scanner(System.in);
String target = scan.nextLine();
char[] arr = target.toCharArray();
for(int i=0;i< arr.length;i++){
arr[i] = (char)(arr[i]^200);
}
加密的字符串:arr.toString();
for(int i=0;i< arr.length;i++){
arr[i] = (char)(arr[i]^200);
}
解密的字符串:arr.toString();
……

原创粉丝点击