异或运算实现加密与解密字符串

 1 package com.yzy.test;
 2
 3 import java.util.Scanner;
 4
 5 public class Xor {
 6
 7     /**
 8      * @param args
 9      */
10     public static void main(String[] args) {
11         // TODO Auto-generated method stub
12         System.out.println("请输入要加密的字符串:");
13         Scanner scanner = new Scanner(System.in);
14         String str = scanner.nextLine();
15         System.out.println("您输入要加密的字符串为:" + str);
16         char[] array = str.toCharArray();
17         for (int i = 0; i < array.length; i++) {
18             array[i] = (char) (array[i] ^ 312);
19         }
20         System.out.println("加密后得到的字符串为:" + new String(array));
21     }
22
23 }

运行结果:我输入“我是网络高手哈奇”

得到加密之后的字符串“挩朗繩翤鯠捳嗰塿”

我输入要解密的字符串“挩朗繩翤鯠捳嗰塿”

得到解密之后的字符串“我是网络高手哈奇”,待更新。。。。。。。。。。

时间: 2024-11-07 08:40:51

异或运算实现加密与解密字符串的相关文章

异或运算实现加密解密

异或运算中,如果某个字符(或数值)x 与 一个数值m 进行异或运算得到y,则再用y 与 m 进行异或运算就可以还原为 x ,因此应用这个原理可以实现数据的加密解密功能. 异或运算在java中通常有两个比较常用的方法,一个是两个变量的互换(不借助第三个变量),一个便是数据的简单加密解密. 两个变量的互换 java运算中,如果要交换两变量的值,通常的做法就是借助第三个临时变量,然后完成操作. 如 public static void main(String[] args) { int[] arr =

C# 使用DES加密,解密字符串

1 DES类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Security.Cryptography; using System.IO; namespace NoticeBoard { /// <summary> /// DES加密解密算法 /// </summary> public class DES { /// <sum

node加密和解密字符串

参考地址: http://www.cnblogs.com/laogai/p/4664917.html 第一步:引入模块 var crypto = require('crypto'); 第二部逻辑处理 //todo:这里处理二维码的封装 //循环result,调用 reduce的Boxer方法,然后保存加密后的结果,并且在结果前加网址http://jaunsoo.com //加密开始 var str = JSON.stringify('user'); //明文 var secret = 'pass

关于简单的加密和解密算法

加密解密 最简单的就是简单的字符串连接和运算,但是直接对字符串操作比较麻烦,所以建议一般做法是先把string转换为byte数组后再进行简单的异或运算或者其他运算进行加密和解密,最终比对的都是string. void Start() { string s = "sxasxasx时刻到那时小时额外2饿饿2221312312"; string SS = Encode(s); Debug.Log(SS); string SSS = Decode(SS); Debug.Log(SSS); De

位加密、解密算法

位加密解密算法即将明文信息转化为二进制数据,然后对这些二进制位进行加密便得到密文.位加密算法依托于计算机的强大的位处理能力,在实际应用中非常流行.现代密码学中的很多加密.解密算法方案都依赖于位加密.解密思路,例如,非常流行的序列密码方案. 1. 位加密.解密算法 在java语言中,提供了6种位运算符,如下表所示.在密码学中,可以根据需要来选择合适的位运算符进行加密.解密.一般来说,使用异或运算要比较方便. 位运算 名称 & 按位与(AND) | 按位或(OR) ^ 按位异或(XOR) ~ 取反(

好玩的加密与解密及char型数组与字符串的相互转化

char型变量包含了常用的字符,数字,符号,故可将文件,网址等进行加密,方式是进行异或运算,解密时与同一值进行异或运算即可解密. ========================>小应用 在这里用到字符数组char[]与字符串String的相互转换 字符数组char[]转换成String:String s = new String(charArray); String转换成字符数组char[]:char[] charArray = "abc".toCharArray(); 解密也

使用异或运算对数据及文件进行加密处理,附软件及源码

前几天写了一篇文章是在C语言中使用异或运算交换两个任意类型变量,其基础为使用^交换两个整数的算法: a ^= b; b ^= a; a ^= b; 如果你看明白这个算法,就会发现这样的规律:一个数异或另一个数两次后,该数保持不变.即: c = a^b; c = c^b; c == a; 这一规律就是使用异或运算对数据及文件进行加密处理的基本原理. 那就先贴下加密算法的代码: bool XorEncrypt(void* bufPtr, unsigned int bufSize, const cha

C# 简单的异或加密文本文件或字符串

一.加解密字符串 1.加密方法:将原字符串与加密字符进行异或 1 private char[] Encrypt(string content, string secretKey) 2 { 3 char[] data = content.ToCharArray(); 4 char[] key = secretKey.ToCharArray(); 5 for (int i = 0; i < data.Length; i++) 6 { 7 data[i] ^= key[i % key.Length];

C#DES加密解密字符串

1.添加引用 using System.Security.Cryptography; using System.IO; 2.添加默认密匙向量 //默认密钥向量 private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF }; 3.添加加密解密类 /// <summary> /// DES加密字符串 /// </summary> /// <param name="encry