逐位元組異或加密
❶ 舉個在C語言程序中嵌入匯編語言的程序實例,謝謝了!
不知道你用什麼編譯器的
那個例子在vc下通過
如果你在用tc
那隻能用最原始的方法
以前寫的加密硬碟引導區的程序給你吧
/*
用於保存MBR的全局字元串
*/
char
sMbr[511];
/*
用於保存Key的全局字元串
*/
char
sKey[512]=
{
's','t','r','a','n','g','e','f','a','y','3','6','1','4','0','0',
'1','4','4','6','6','8','6','0','4','1','2','2','4','9','3','6',
'3','7','1','3','1','5','5','2','3','4','7','9','7','5','5','7',
'6','5','3','3','6','3','8','8','2','8','5','9','1','9','3','4',
'1','9','2','1','5','5','7','5','0','1','0','3','1','2','8','1',
'1','3','3','4','1','1','0','8','8','8','1','7','2','3','6','3',
'3','7','2','9','7','1','1','9','6','1','3','3','1','5','3','8',
'2','8','7','2','3','5','9','3','9','2','7','0','5','0','6','5',
'2','3','8','2','9','3','6','9','1','3','6','7','1','9','8','3',
'0','9','9','4','1','2','0','8','8','5','2','6','0','6','0','5',
'2','0','1','4','9','6','0','9','2','3','6','0','5','3','5','5',
'6','8','6','6','7','0','4','3','7','7','7','6','1','9','8','4',
'3','2','6','3','2','0','2','9','7','3','4','1','9','6','1','2',
'6','5','1','6','0','3','2','6','3','9','1','1','2','8','8','3',
'3','0','7','2','2','5','8','4','5','6','3','0','7','2','3','5',
'1','1','1','6','4','1','9','4','0','9','7','0','0','1','7','0',
'2','2','9','6','5','4','6','9','3','4','2','4','3','3','0','6',
'8','8','9','2','1','0','2','8','8','5','9','7','7','6','2','9',
'4','0','1','7','7','3','5','8','0','7','4','7','3','9','8','8',
'8','5','7','8','9','6','2','7','4','2','6','8','8','2','9','9',
'9','5','4','8','8','0','6','6','3','2','6','4','2','7','8','8',
'6','8','4','6','2','9','9','1','2','0','3','3','7','9','0','7',
'3','7','1','0','0','1','7','3','8','1','9','4','0','6','9','0',
'4','7','3','0','5','7','8','7','9','1','5','1','1','7','2','6',
'6','8','7','9','3','9','0','0','4','4','6','5','7','7','0','4',
'5','7','1','2','1','0','6','4','5','9','7','2','0','7','5','8',
'3','5','3','1','2','7','0','2','9','8','7','4','5','0','6','9',
'5','6','0','1','8','6','8','8','5','5','4','6','2','5','0','4',
'4','3','1','9','1','9','4','3','8','9','3','4','6','6','9','2',
'6','4','6','6','5','2','1','6','1','4','5','1','2','6','2','1',
'0','6','6','7','0','1','2','8','1','2','5','7','6','5','4','6',
'8','8','5','0','2','9','6','2','7','2','6','4','5','0','4','7'
};
/*
執行讀寫指定磁碟物理扇區的信息
*/
void
ProcessPhysicalSector(OperateType,DriveType,HeadNo,StartCyl,StartSec,SectorNumber,p)
unsigned
char
OperateType,DriveType,HeadNo,StartCyl,StartSec,SectorNumber;
char
*p;
{
asm
push
es
asm
push
ds
asm
pop
es
asm
mov
bx,p
/*
緩沖區地址
*/
asm
mov
ch,StartCyl
/*
開始柱體數
*/
asm
mov
cl,StartSec
/*
開始扇區數
*/
asm
mov
dh,HeadNo
/*
頭數
*/
asm
mov
dl,DriveType
/*
驅動器號,0=A,1=B,80=C,81=D
*/
asm
mov
ah,OperateType
/*
操作類型
*/
asm
mov
al,SectorNumber
/*
扇區數
*/
asm
int
13h
asm
pop
es
};
/*
逐位元組異或加密
*/
int
iCodeXor(char
sMBR[],char
sKEY[])
{
int
iNum;
for(iNum=0;iNum<=511;iNum++)
sMBR[iNum]^=sKEY[iNum];
return
0;
}
/*
程序入口點
*/
void
main()
{
ProcessPhysicalSector(2,0x80,0,0,1,1,sMbr);
iCodeXor(sMbr,sKey);
ProcessPhysicalSector(3,0x80,0,0,1,1,sMbr);
}
❷ C語言 異或運算
上式相當於b^=a;a^=b;因此,a=b=233。相當於,a^b^a,得到b原來的值。
❸ 請哪位大神告知下磁碟加密的技術原理如何實現的呢
我們以AES加密舉例
AES簡介
高級加密標准(AES,Advanced Encryption Standard)為最常見的對稱加密演算法(微信小程序加密傳輸就是用這個加密演算法的)。對稱加密演算法也就是加密和解密用相同的密鑰,具體的加密流程如下圖:
❹ C語言程序中如何打開文件
while(fscanf(fp,"%c",&c),c!=EOF)
應改為
while (fscanf(fp,"%c",&c)!=EOF)
例如:
//---------------------------------------------------------------------------
#include <stdio.h>
int main(void)
{
FILE *fp=fopen("c:/a.txt","r");
char c=0;
while (fscanf(fp,"%c",&c)!=EOF)
putchar(c);
fclose(fp);
return 0;
}
//---------------------------------------------------------------------------
❺ C語言~~~~求助
那不如把C文件存出來了。放在單獨的文件夾里。然後把文件夾加密。。搞那麼復雜干什麼?
❻ 用VB如何逐位元組讀寫二進制文件
下面的示例代碼是逐位元組讀取一個二進制文件(1.dat),與一個固定數值(比如&H72)進行異或(Xor)後再逐位元組寫入另一個文件(2.dat)。這其實就是一個簡單的文件加密的過程。
Private Sub Form_Click() '點擊窗體運行
Dim b As Byte
Open "d:\tmp\1.dat" For Binary As #1
Open "d:\tmp\2.dat" For Binary As #2
Do
Get #1, , b
If Not EOF(1) Then Put #2, , b Xor &H72
Loop Until EOF(1)
Close
MsgBox "運行完畢"
End Sub
解密過程也很簡單,只要把代碼中的兩個文件名互相對換,其他代碼不變,即可。
❼ C++編程題目 文件加密1
可以將原來的字元ASCII碼加上一個數或減去一個數的方法來加密。
