⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 隐藏.c

📁 通过将信息放在BMP文件的末位对信息进行加密
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>

int main()
{
    FILE *fi,*fo;
	BITMAPFILEHEADER bmfh;
	BITMAPINFO bmi;
	int i,store[400],j,k,num,charnum,temp,x,cur=0;
	BYTE P;
	char c[50];
	
	fi = fopen("bupt.bmp","rb");
	fo=fopen("newbupt.bmp","wb");

	fread(&bmfh,sizeof(bmfh), 1,fi);
	
	rewind(fi);
	fread(&P,sizeof(BYTE),1,fi);
	while(!feof(fi))
    {
       fwrite(&P,sizeof(BYTE),1,fo);
       fread(&P,sizeof(BYTE),1,fi);
    }

	fseek(fi,4*bmfh.bfOffBits,SEEK_SET);
	fseek(fo,4*bmfh.bfOffBits,SEEK_SET);
	
	printf("请输入你希望隐藏的信息(英文),回车结束:");
	j=0;
	scanf("%c",&c[j]);
	while(c[j]!='\n')
	{
       j++;
       scanf("%c",&c[j]);
       }
    charnum=j;
 
    
    for(k=0;k<=charnum;k++)
    {
       temp=(int)c[k];
       for(x=0;x<8;x++)
       {
          store[8*cur+7-x]=temp%2;
          temp=temp/2;
          }
       cur++;
     }
    num=charnum*8+8; 
    printf("你所输入的信息转化成二进制码是:\n");
    for(i=0;i<charnum*8+8;i++)
       printf(" %d ",store[i]);
    i=0;  
    while(!feof(fi))
    {
       fread(&P,sizeof(BYTE),1,fi);
       if(i<num)
       {
          if(store[i]==0)
             P=P&254;
          else
             P=P|1;
             }
       i++;
       fwrite(&P,sizeof(BYTE),1,fo);
    }
        
    fclose(fi);
	fclose(fo);
	
	printf("\n你所输入的信息已经被隐藏!!!\n");
	
	system("pause");
	return 0;
}
	

	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -