當前位置:首頁 » 密碼管理 » 文件異或加密

文件異或加密

發布時間: 2022-07-23 12:05:09

『壹』 c語言 異或加密

太麻煩了,建議您可以下載文件夾加密超級大師試試。
文件夾加密超級大師支持所有windows系統,可以加密文件夾,加密文件,保護磁碟和數據粉碎,使用起來非常方便。

『貳』 急求:c語言中文件異或加密解密的亂碼問題!


j=strlen(password);
ch=fgetc(fp1);
while(!feof(fp1))
for(i=0;i<j;i++)
{ fputc(ch^password[i],fp2);
ch=fgetc(fp1);
}

改成下面的試試

j=strlen(password);
while(!feof(fp1))
{
ch = fgetc(fp1);
fputc(ch^password[i++], fp2);
if(i == j)
i = 0;
}

『叄』 在java中用異或為各種形式的文件加密

對文件的每個位元組進行xor運算即可
byte b=//從文件讀取
byte k=50; //密鍵
fout.write(b^k);//寫到加密文件中

『肆』 設計一種很難被破解的異或加密方法

按現在的cpu速度,哪怕不用電腦,用現在手機的cpu都絕對可以在1秒內破解出來,這個所謂的加密操作實際上等於0 除非你的文件內容原文就是不可讀的(這樣不管破解成功還是失敗,破解者都沒法知道,即使成功了看見的解密結果也是個亂碼。。。囧。。所以不可能破解到) 異或加密是強度極低的一種方式,除非極長的密鑰,希望獲得比較靠譜的加密,還是分組交換式加密方案可取,比如DES加密。

『伍』 一個基於異或的加密演算法

大哥……你連流程圖都畫出來了……代碼還不懂寫……另外這個也不難吧~~就異或操作而已…………最簡單的加密的了,小數那裡你把它擴大再提取出來即可
……實在不行再幫你看看~~~~最好自己先嘗試做~
==================================================================
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

//參數一:源文件 參數二:目標文件
//例如: XorProject.exe aa.txt bb.txt

int main( int argc , char* argv[] )
{
ifstream inf;
ofstream ouf;

string param;

if ( argc < 3)
{
cerr<<"缺少參數"<<endl;
return -1;
}

inf.open( argv[1] , ios::in | ios::binary );
ouf.open( argv[2] , ios::out | ios::binary | ios::trunc );

if ( !inf.is_open() || !ouf.is_open() )
{
cerr<<"打開文件失敗"<<endl;
return -2;
}

double x0 = 0.0;
double u = 0.0;

cout<<"請輸入u的值:";
cin>>u;

cout<<"請輸入x0的值:";
cin>>x0;

double xn = x0;

int i;

for ( i = 0; i < 1000; i++ )
{
xn = u * xn * ( 1 - xn );
}

inf.seekg( 0 , ios::end );

unsigned long file_size = inf.tellg();
unsigned long p = 0;

inf.seekg( 0 , ios::beg );

while ( p < file_size )
{
unsigned char c;
inf.read( (char*)&c , 1 ); //讀1個位元組

int Y = ((int)(xn * 10000000)) % 1000; //取5 6 7位
int Z = Y % 256;

c ^= Z;

ouf.write( (char*)&c , 1 ); //寫入加密後的1位元組

for ( i = 0; i < 5; i++ )
{
xn = u * xn * ( 1 - xn );
}

p++;
}

inf.close();
ouf.close();

return 0;
}

代碼比較簡單,另外要注意一下,像你那樣1000次迭達,感覺用處不太大,反而會導致xn的值接近0,所以你在輸入x0的時候必須要輸入一個接入1的數,否則經過這么多次迭代後xn就變成了0了,高精度運算也沒用,5、6、7位都已經是0了,意義不太大

『陸』 異或加密與解密(C語言)注釋

異或運算有一個特性


c = a xor b
那麼
a = c xor b

根據這樣的特性,你有一個信息a,然後你產生一個密碼b,把它和a異或運算之後就變成了c。這就是一種加密,解密的時候,把c重新和b異或運算,就變回了a。

順帶說一下,異或是很弱的加密方法,很容易被破解的。

『柒』 我用C語言中的異或方式編寫了一個文件加密軟甲,那麼這種加密方法能破解嗎,怎麼破解

這個要看您的軟體的加密強度了。

文件加密軟體,我使用的是超級加密3000.

超級加密3000採用國際上成熟的加密演算法和安全快速的加密方法,可以有效保障數據安全!

『捌』 如何利用批處理對文件進行位異或加解密

批處理不具備位異或加解密功能

批處理的執行器cmd.exe不能讀取文件二進制數據,在此基礎上的加解密工作不能簡單實現
可以通過第三方工具而達到目的
例如用C++編寫命令行程序

『玖』 如何用C語言對文件進行加密和解密

對於加密要求不高的完全可以自己定義規則來進行加密。這種加密是很簡單很自由的,例如你在存文件的時候可以將文件中的每個字元都加上一個數,然後讀取該文件的時候再每個字元相應地減去那個數,即可實現就簡單的加密,這樣你儲存的文件看上去就是亂碼了。只是這個規則太簡單,規則你可以自己定,加密與解密對著來就行了。
下面程序用異或操作對文件進行加密和解密
/****************** 設計思路 ******************/
// 根據用戶輸入的加密/機密密碼,
// 每次都拿原文件和密碼等長度的一個字元串和密碼
// 對應元素異或進行加密/解密
// 另外因為是用異或方法,所以加密和解密就是同一個程序
// 即按照同樣的加密即是對文件的解密

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <conio.h>
#include <stdlib.h>

char filename[256]; // 原文件
char password[256]; // 加密/解密密碼
const char filenametemp[] = "temp15435255435325432543.temp"; // 加密/解密中間文件

void inputpass(char *pass); //密碼輸入以"******"顯示

void main() {

FILE *fp; // 加密/解密的文件
FILE *fptemp; // 加密/解密過程臨時文件
int pwdlen; // 密碼長度
int i = 0; // 計數器
char ch = 0; // 讀入的字元

printf("請輸入要加密/解密的文件名(全路徑名): \n");
gets(filename);
if( (fp = fopen(filename, "rb")) == NULL) {
printf("找不到文件 %s\n", filename);
exit(1);
} // if

printf("請輸入要加密/解密的密碼: \n");
inputpass(password);
pwdlen = strlen(password);
if(pwdlen == 0) {
printf("密碼不能為空,加密/解密失敗\n");
exit(1);
} // if

fptemp = fopen(filenametemp, "wb"); // 打開中間文件
while(1) {
ch = fgetc(fp);// 從原文件讀入一個字元
if(feof(fp)) { // 已經讀到文件尾
break; // 退出循環
}
ch ^= password[i++]; // 對原字元和密碼進行異或操作
fputc(ch, fptemp); // 將異或結果寫入中間文件
if(i == pwdlen) { // 使得原文件每和密碼長度相同的固定長度異或加密
i = 0;
}
} // while

fclose(fp); // 關閉打開原文件
fclose(fptemp); // 關閉打開中間文件

remove(filename); // 刪除原文件
rename(filenametemp, filename); // 將中間文件重命名為原文件
printf("加密/解密成功\n"); // 至此加密/解密成功

}

// 密碼輸入以"******"顯示
void inputpass(char *pass) {
int i = 0;
char c;
while(isprint(c = getch())) {
pass[i++] = c;
// printf("*");
}
pass[i] = '\0';
printf("\n");
}

熱點內容
壓縮機拍賣 發布:2025-05-10 06:50:04 瀏覽:838
伺服器映射器怎麼固定ip 發布:2025-05-10 06:35:31 瀏覽:637
藍牙鍵盤如何輸入電腦密碼 發布:2025-05-10 06:32:33 瀏覽:275
北京php培訓機構 發布:2025-05-10 06:28:20 瀏覽:879
php在線狀態 發布:2025-05-10 06:22:23 瀏覽:260
加密技術的優缺點 發布:2025-05-10 06:22:18 瀏覽:527
messagelinux 發布:2025-05-10 06:15:50 瀏覽:818
如何找回微信號碼登錄密碼 發布:2025-05-10 06:14:22 瀏覽:153
csv解壓 發布:2025-05-10 06:06:02 瀏覽:762
小米系統存儲和內存設備 發布:2025-05-10 06:00:56 瀏覽:693