導航:首頁 > 文檔加密 > 異或加密

異或加密

發布時間: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
你可以調試驗證下。

閱讀全文

與異或加密相關的資料

熱點內容
linux重啟命令apache 瀏覽:745
半夜解壓有什麼壞處 瀏覽:424
linux代理命令 瀏覽:637
調用tasking的編譯器編譯 瀏覽:292
青檸app是什麼 瀏覽:866
linuxapachephp56 瀏覽:395
安卓手機如何打開eng文件 瀏覽:22
看拉丁電視都用什麼app好 瀏覽:779
什麼是哲學pdf 瀏覽:509
hdfs的三個下載命令 瀏覽:525
java常用的排序演算法 瀏覽:358
51單片機連接adc 瀏覽:860
python命名變數報錯 瀏覽:122
安卓手機如何換windows系統 瀏覽:614
python中的類是什麼 瀏覽:631
我的英雄學院用哪個app可以看 瀏覽:36
excel插入選項卡對象命令 瀏覽:695
python字元全排列 瀏覽:507
824頁大瓜文件pdf 瀏覽:222
朔州ios源碼 瀏覽:251