xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡(jiǎn)介

基于LSB的圖片數(shù)據(jù)隱藏c++類,可以在Bmp文件中隱藏文件

資源截圖

代碼片段和文件信息

/*********************************************
*??功能:基于LSB的BMP文件信息隱藏
*??作者:aikesiluoente
*??構(gòu)建日期:?2010/6/10
*??本程序參考自:“foxtail-處理bmp圖象-2008/3/4”
???在此表示感謝
*********************************************/
#include?“Bmp24.h“
#include?
#include?
#include?

Bmp24::Bmp24(void)
{
_pbmfh?=?new?tagBITMAPFILEHEADER;
_pbmih?=?new?tagBITMAPINFOHEADER;
_pbmd?=?NULL;
_size?=?0;
}

Bmp24::~Bmp24(void)
{
delete?_pbmfh;
delete?_pbmih;
if?(_pbmd)
{
delete?_pbmd;
}
}

//載入BMP文件
void?Bmp24::LoadFile(const?char?*filename)
{
ifstream?InFile;
InFile.open(filename?ios::in?|?ios::binary);

InFile.read((char*)_pbmfh?sizeof(tagBITMAPFILEHEADER));
cout?< ?< InFile.read((char*)_pbmih?sizeof(tagBITMAPINFOHEADER));
cout?<
//直接定位BMP數(shù)據(jù)區(qū),跳過調(diào)色板
_size?=?_pbmfh->bfSize?-?_pbmfh->bfOffBits;
_pbmd?=?new?BYTE[_size];
InFile.read((char*)_pbmd?_size);
cout?< InFile.close();
cout?< ?<}

//保存BMP文件
void?Bmp24::SaveFile(const?char?*filename)
{
ofstream?OutFile;
OutFile.open(filename?ios::out?|?ios::binary);

OutFile.write((char*)_pbmfh?sizeof(tagBITMAPFILEHEADER));
cout?< ?< OutFile.write((char*)_pbmih?sizeof(tagBITMAPINFOHEADER));
cout?< OutFile.write((char*)_pbmd?_size);
cout?< OutFile.close();
cout?< ?<}

//嵌入文本文件
void?Bmp24::embedTxt(const?char?*filename)
{
ifstream?TxtFile;
TxtFile.open(filename?ios::in?|?ios::binary);
TxtFile.seekg(0?TxtFile.end);
DWORD?TxtFileLength?=?TxtFile.tellg();
if?(_size? {
return?;
}

cout?< BYTE?*pTxtFile?=?new?BYTE[TxtFileLength];
TxtFile.seekg(0?TxtFile.beg);
TxtFile.read((char*)pTxtFile?TxtFileLength);
TxtFile.close();

for?(int?i?=?0?k?=?0;?i? {
for?(int?j?=?0;?j? {
if?((pTxtFile[i]?>>?j?&?0x01)?==?0)
_pbmd[k+32]?&=?0xfe;
else
_pbmd[k+32]?|=?0x01;
++k;
}
}

for?(int?i?=?0;?i? {
if?((TxtFileLength?>>?i?&?0x00000001)?==?0)
_pbmd[i]?&=?0xfe;
else
_pbmd[i]?|=?0x01;
}
delete?pTxtFile;
cout?<bedding?file?OK!“?<}

//提取文本文件
void?Bmp24::ExtractTxt(const?char?*filename)
{
DWORD?TxtFileLength?=?0x00000000;
for?(int?i?=?0;?i? {
if?((_pbmd[i]?&?0x01)?==?0)
TxtFileLength?&=?0x7fffffff;
else
TxtFileLength?|=?0x80000000;

if?(i? TxtFileLength?>>=?1;
}
cout?<
BYTE?*pTxtFile?=?new?BYTE[TxtFileLength];
for?(int?i?=?0?k?=?0;?i? {
if?(i?&&?i?%?8?==?0)
++k;
if?((_pbm

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????1163??2010-06-13?15:07??Test.cpp

?????文件???????3403??2010-06-13?15:07??Bmp24.cpp

?????文件???????1281??2010-10-27?12:42??Bmp24.h

?????文件???????4028??2010-10-26?21:37??LSB.vcproj

-----------?---------??----------?-----??----

?????????????????9875????????????????????4


評(píng)論

共有 條評(píng)論