資源簡介
一種基于LSB算法的,用C語言實現的數字水印方法,簡單易懂。

代碼片段和文件信息
#include
#include
using?namespace?std;
#define?N?100
void?Shuiyin()
{
int?i;
char?name[50];//文件名
int?length;//文件長度
char?*buf;//文件內容
memset(name?0?50);
cout?<“輸入要打開的圖片:“;
cin?>>?name;
FILE?*?f?=?fopen(name?“rb“);//二進制方式
if(!f)
{
cout?<“圖片“?< return;
}
fseek(f0?SEEK_END);//seekend?2?把指針放到末尾
length?=?ftell(f);//length=文件長度
buf?=?new?char[length?+?1];
fseek(f?0?SEEK_SET);
fread(buf?length?1?f);
buf[length]?=?‘\0‘;
for(i=501;i<1000;i++)
{
buf[i]=buf[i]&254;
if(i%5==1||i%5==2||i%5==0)
{
buf[i]=buf[i]+1;
}
}
memset(name?0?50);
cout?<“輸入要保存的文件名:“;
cin?>>?name;
f?=?fopen(name?“wb“);
if(!f)
{
cout?<“保存圖片“?< return;
}
cout?<“文件“?< fwrite(buf?length?1?f);
fclose(f);
}
void?Yanzheng()
{
int?it=0;
char?name[N];//文件名
long?length;//文件長度
char?*buf;//文件內容
memset(name?0?N);//初始化name
cout?<“輸入要打開的圖片:“;
cin?>>?name;
FILE?*?f?=?fopen(name?“rb“);//二進制方式
if(!f)
{
cout?<“圖片“?< return;
}
fseek(f0?SEEK_END);//seekend?2?把指針放到末尾
length?=?ftell(f);//length=文件長度
cout<<“源文件大?。骸? buf?=?new?char[length?+?1];
fseek(f?0?SEEK_SET);//把指針放于文件的首部
fread(buf?length?1?f);//每一個buf都指向文件
buf[length]?=?‘\0‘;
for(i=501;i<1000;i++)
{
if(i%5==1||i%5==2||i%5==0)
{
if(buf[i]&1)
{
t++;
}
}
else
{
if(buf[i]&1)
{}
else
{
t++;
}
}
}
if(t==499)
{
cout<<“文件完整,未被修改“< }
else
{
cout<<“文件被修改了不完整“< }
fclose(f);
}
void?main()
{
int?tt=1;
char?choice;
while(tt==1)
{
cout< cout<<“???完整性驗證??“< cout<<“1、加入水印???“< cout<<“2、驗證圖像???“< cout<<“3、退出???“< cout<<“請輸入你要操作的序列號:?“;
cin>>choice;
if(choice==‘1‘)
{
Shuiyin();
}
else?if(choice==‘2‘)
{
Yanzheng();
}
else?if(choice==‘3‘)
{
cout<<“謝謝使用“;tt=0;break;
}
else
{cout< }
getchar();
system(“pause“);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????59904??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\Debug\數字水印LSB.exe
?????文件?????691448??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\Debug\數字水印LSB.ilk
?????文件?????756736??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\Debug\數字水印LSB.pdb
?????文件???15990784??2013-05-23?15:01??C語言信息隱藏數字水印LSB算法\ipch\數字水印lsb-3d04066b\數字水印lsb-c259d0d8.ipch
?????文件?????900654??2013-04-17?11:24??C語言信息隱藏數字水印LSB算法\數字水印LSB\2.bmp
?????文件?????900654??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\22.bmp
?????文件????2070582??2013-04-16?10:41??C語言信息隱藏數字水印LSB算法\數字水印LSB\3.bmp
?????文件?????533334??2013-04-17?10:50??C語言信息隱藏數字水印LSB算法\數字水印LSB\5.bmp
?????文件???????4402??2012-12-31?11:02??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\1.bmp
?????文件???????4402??2012-12-29?20:53??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\11.bmp
?????文件????????790??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\cl.command.1.tlog
?????文件???????9210??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\CL.read.1.tlog
?????文件????????548??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\CL.write.1.tlog
?????文件??????????2??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\li
?????文件??????????2??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\li
?????文件??????????2??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\li
?????文件??????????2??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\li
?????文件??????????2??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\li
?????文件??????????2??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\li
?????文件??????????2??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\li
?????文件??????????2??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\li
?????文件??????????2??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\li
?????文件??????????2??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\li
?????文件???????1834??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\li
?????文件???????3354??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\li
?????文件???????1180??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\li
?????文件??????83528??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\LSB.obj
?????文件????????460??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\mt.command.1.tlog
?????文件????????566??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\mt.read.1.tlog
?????文件????????462??2013-05-23?14:25??C語言信息隱藏數字水印LSB算法\數字水印LSB\Debug\mt.write.1.tlog
............此處省略27個文件信息
- 上一篇:matlab算法實現聲紋識別,帶界面
- 下一篇:清華大學數據結構算法及源代碼
評論
共有 條評論