导航:首页 > 文档加密 > 异或加密

异或加密

发布时间:2022-01-29 21:42:48

㈠ 如何利用异或运算进行简单加密解密

利用“^”异或运算对字符串进行加密
思路:1.先创建字符串输入的Scanner;
2.通过char[] array = password.toCharArray();// 获取字符数组;
3.遍历字符数组,按目前理解要用到遍历:数组所有元素进行访问,比如你要输出数组里所有的信息时,就要用到
4.进行异或运算
按位做“异或”运算是:位值相同得1,不同得0
例如:
< 加密过程:>
原解释的二进制为 1 1 0 0 ----原文
设定的key的二进制为 0 1 1 0 ----密匙
两者做“异或”结果为 0 1 0 1 ----密文
< 解密过程:>
0 1 0 1----密文
0 1 1 0----密匙
两者“异或”就得到了原文 1 1 0 0 ----原文
详细代码:
package com.lixiyu;
import java.util.Scanner;
public class Example {
public static void main(String[] args){
Scanner sca=new Scanner(System.in);
System.out.println("请输入一个英文字符串或解密字符串");
String line=sca.nextLine();//获取用户输入信息
char[] array=line.toCharArray();//获取字符数组
for (int i=0;i<array.length;i++){//历遍字符数组
array[i]=(char) (array[i]^20000);//对数组每个元素进行异或运算
}
System.out.println("加密解密结果如下:");
System.out.println(new String(array));//输出密钥
}
}
异或运算:
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
字符'A' 的ASCII编码为65 : 00000000 01000001
取整数7 : 00000000 00000000 00000000 00000111
XOR运算后 : 00000000 00000000 00000000 01000110
简单加密算法代码如下 :
public class Test {
public static final int KEY = 7;
public static void main(String[] args) {
String str = "Hello World!";
StringBuffer str2 = new StringBuffer(); //存储加密后的字符串
StringBuffer str3 = new StringBuffer(); //存储解密后的字符串
//加密过程
for(int i=0;i<str.length();i++)
{
char c = (char)(str.charAt(i) ^ KEY);
str2.append(c);
}
//解密过程
for(int i=0;i<str2.length();i++)
{
char c = (char)(str2.charAt(i) ^ KEY);
str3.append(c);
}
System.out.println("原始 的字符串为:" + str);
System.out.println("加密后 的字符串为:" + str2);
System.out.println("解密后 的字符串为:" + str3);
}
}
输出:
原始 的字符串为:Hello World!
加密后 的字符串为:Obkkh'Phukc&
解密后 的字符串为:Hello World!

㈡ 什么是异或加密

异或的特点是原始值经过两次异或某一个数后会变成原来的值,所以有时利用这个特性来进行加密,加密端把数据与一个密钥进行异或操作,生成密文。接收方收到密文后利用加密方提供的密钥进行再次异或操作就能得到明文。loop是汇编语言中的循环指令。它对cx进行减1,如果不为0则跳到循环首部继续执行循环体。如果为0,执行loop的下一条指令。

python 写异或加密

from random import seed,randint

str_in=input('请输入一个字符串:')
you_seed=input('请输入密码:')
you_seed=int(you_seed)

#lock
def my_lock(lock_str,lock_seed):
seed(lock_seed)
li_out=[]
for i in lock_str:
li_out.append(chr(ord(i)^randint(0,65535)))
return ''.join(li_out)
my_lock_str=my_lock(str_in,you_seed)
print('原字符串:',str_in)
print('加密字符串:',my_lock_str)
print('还原后字符串:',my_lock(my_lock_str,you_seed))
input()
#python 3.4

㈣ C语言 异或加密

太麻烦了,建议您可以下载文件夹加密超级大师试试。
文件夹加密超级大师支持所有windows系统,可以加密文件夹,加密文件,保护磁盘和数据粉碎,使用起来非常方便。

㈤ 异或加密介绍和原理

最简单的异或加密解密,特点是加密解密算法相同:下面的可以直接测试。
private void button1_Click(object sender, EventArgs e)
{
byte key = 123;
Text = encryptDecryptStr(textBox1.Text, key);
}

private string encryptDecryptStr(string p, byte key)
{
byte[] bs = Encoding.Default.GetBytes(p);
for (int i = 0; i < bs.Length; i++)
{
bs[i] = (byte)(bs[i] ^ key);
}
return Encoding.Default.GetString(bs);
}

private void button2_Click(object sender, EventArgs e)
{
byte key = 123;
button2.Text = encryptDecryptStr(Text, key);
} 上面是一个C#的异或加密算法

㈥ C语言 文件异或加密

似乎在写模式下不会产生EOF,所以还是先取一下文件长度比较好

㈦ 异或加密图片是否安全

可以的,BMP图片文件的前十六字节内容是一个已知的固定值,所以你懂得

㈧ 设计一种很难被破解的异或加密方法

不会哦。比如我有一个大小为1000字节的文本文件,我先产生了4个随机数,100,4,200,5
然后先取文件100字节处的数据然后与下一个字节也就是101位置的数据异或,然后取加密后的数据继续与下个字节XOR,到文件尾后转到文件头继续,直到完全把整个文件异或加密4遍,也就是4000次XOR,同样再取文件200字节偏移处数据进行5000次XOR,解密者只需知道4个随机数然后按步骤反过来XOR就还原为原文本文件,我想知道不知道4个随机数的情况下怎样破解,穷举吗,难度大不大,有什么更好的异或加密方案,如用一张jpg照

㈨ 字符串异或加密问题

你想用什么语言写,不过思路和操作都大同小异,打开你想操作的注册表的key,然后把值直接清空就行,如果这项不在用的话可以直接删除了,写注册表时会在写上的。

编程:异或加密问题.

0x1^0x2 = 结果
0x2^结果 = 0x1
0x1^结果 = 0x2
你可以调试验证下。

阅读全文

与异或加密相关的资料

热点内容
兵器pdf 浏览:923
云服务器怎么限制cpu 浏览:164
学信网用的什么app 浏览:876
linux重启命令apache 浏览:751
半夜解压有什么坏处 浏览:425
linux代理命令 浏览:638
调用tasking的编译器编译 浏览:292
青柠app是什么 浏览:866
linuxapachephp56 浏览:397
安卓手机如何打开eng文件 浏览:24
看拉丁电视都用什么app好 浏览:781
什么是哲学pdf 浏览:509
hdfs的三个下载命令 浏览:525
java常用的排序算法 浏览:359
51单片机连接adc 浏览:861
python命名变量报错 浏览:122
安卓手机如何换windows系统 浏览:614
python中的类是什么 浏览:632
我的英雄学院用哪个app可以看 浏览:37
excel插入选项卡对象命令 浏览:695