通过异或运算符号与一个指定的值进行异或运算,从而改变字符串每个字符的值,这样就可以得到加密后的字符串。
import java.util.Scanner; public class Encypt { public static void main(String args[]){ Scanner scan = new Scanner(System.in); System.out.println("请输入一个英文字符串或解密字符串:"); String password = scan.nextLine(); //获取用户输入 char[] array = password.toCharArray(); //获取字符数组 for(int i=0;i<array.length;i++) //遍历字符数组 { array[i]=(char)(array[i]^20000); //对每个数组元素进行异或运算 } System.out.println("加密或解密结果如下:"); System.out.println(new String(array)); } }
输出结果:
请输入一个英文字符串或解密字符串: www.sohu.com 加密或解密结果如下: 乗乗乗与乓乏么乕与乃乏乍
总结:
位运算可以实现很多高级,高效的运算。比如说加密,乘法中的n次方就是右移n位,速度还快。
本文向大家介绍c异或运算 c异或运算符号,包括了c异或运算 c异或运算符号的使用技巧和注意事项,需要的朋友参考一下 与运算:& 两者都为1为1,否则为0 1&1=1, 1&0=0, 0&1=0, 0&0=0 或运算:| 两者都为0为0,否则为1 1|1 = 1, 1|0 = 1, 0|1 = 1, 0|0 = 0 非运算:~ 1取0,0取1 ~1 = 0, ~0 = 1 ~(10001)
假设: 2的补码形式的32位有符号整数 true和false是值为1和0的整数 java运算符 你能实现像<代码>
这是正确的吗?可以说“它是加密的”吗?我的期望是得到像“werwerwer”这样的字面字符串
问题内容: 具体来说,在对象引用相等的情况下,==运算符的作用是什么? 如果在比较时引用对相同的对象地址求值,则比较是否返回true?还是利用两个引用的hashCode值确定对象是否相同? 具体来说,我想知道==操作引用 了JVM管理的哪些数据结构以 进行参考比较。==是否依靠OOP进行参考比较? 对我来说不幸的是,JLS没有定义==运算符必须如何工作。Java API文档没有提及==应该做什么(
本文向大家介绍C的|、||、&、&&、异或、~、!运算符,包括了C的|、||、&、&&、异或、~、!运算符的使用技巧和注意事项,需要的朋友参考一下 位运算 位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。 位运算符有: &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 其中,按位取反
问题内容: 我在我的iPhone应用程序中使用Objective C中的加密类,但是我在努力通过Android应用程序在JAVA中使用相同的功能。我的加密代码如下: 我试图在JAVA中复制它,但是当我编码相同的数据时却得到了不同的字符串。所以我做错了事,但我无法弄清楚。这是我的JAVA代码: 谁能看到我要去哪里错了? 根据以下注释,我添加了getBytes,但是生成的字符串仍然不同: 问题答案:
问题内容: 我是密码学的新手。我希望学习如何在文件中加密和解密文本……当我在net中引用相关文章时。我怀疑对同一文本进行多次加密后,单个文本的加密文本是否会相同?谁能解决我的疑问? 问题答案: 这是使用该类的示例:
在过去的4-5个小时里,我一直在研究这个问题,尽管找到了从几个方法到整个100行课程的“答案”,但似乎找不到一个真正有效的答案。我无法想象,没有什么简单的函数可以做这样一件小事:P 我有一组预先存在的公钥/私钥(实际上,两组-一组由ssh-keygen生成,另一组由openssl生成,所以... 我所追求的只是一个简单的java,相当于我用python编写的东西- 任何帮助都会很棒!