社区
C++ Builder
帖子详情
100分求购BMP图片文件加密代码
tccsdn
2004-05-14 12:57:12
时间很紧,谁有现成的代码给我共享一下
...全文
111
12
打赏
收藏
100分求购BMP图片文件加密代码
时间很紧,谁有现成的代码给我共享一下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tccsdn
2004-05-14
打赏
举报
回复
谢谢各位的回答,现在有点事出去,等下回来就揭贴
weill
2004-05-14
打赏
举报
回复
此外,还有一个简单有效的办法,把存出的BMP文件的第一个,第二个字符(十六进制,应该是BM两个字符)用代码在写完后给它改了(或是写入前就给它改,这样更好),在读取时,在读入内存后再改回来。这样,嘻,你要是不告诉别人这是个BM图象的图片的话,只怕没人能猜出来。(谁能猜到你这个DAT文件是个改了格式的BMP啊,哈哈)。
当然,以上都是歪门斜道,不过,对付非高手,有这样的操作就可以了。
weill
2004-05-14
打赏
举报
回复
美你个头……别说我是菜鸟……
你倒是给个压缩程序代码来玩玩,要求不能太长哦……
不要求和winrar那样大而全,压缩比高,你就给我来点儿简单的吧……嘎嘎……
(说得好象吃面一样)。
weill
2004-05-14
打赏
举报
回复
压缩?晕倒……¥·#%·#¥%·¥#……
嘻,楼上的,你能不能给出一个文件压缩的代码啊……
lvjack
2004-05-14
打赏
举报
回复
同意 pp616
两全其美
weill
2004-05-14
打赏
举报
回复
对了,记得把Image1控件里放进图象哦,否则可能不会正常。
此外,解释一下。
我给你的代码完成的任务是
把Image1控件里已有的图象,用二进制读写的方法存入一个文件中。
其实,你如果要最最最简单的不让别人直接看出来,你把这二处:
FileSeek(……);
改成:
FileSeek(fhwnd,1024,0);
就完事。
这样,你存出来的图片因为不是从文件的第一个字节开始的,所以不合符标准,这样,别人就会发晕了。
当然,如果别人足够聪明,用十六进制软件打开生成的这个文件,然后猜出来了偏移量,那就没得说了,哈哈。
pp616
2004-05-14
打赏
举报
回复
压缩一下吧。又小有不能直接打开。
weill
2004-05-14
打赏
举报
回复
说明,上面代码中的加密具体方法没有写,但是代码写到这样,就差不多了,你要去做的只是把buffer[N]中的东西按一定的算法给它改变一下就可以了。解密当然就是反过来就完事。
weill
2004-05-14
打赏
举报
回复
倒了,我刚问过了一个类似的问题,你改造一下叭……
代码如下:
//说明:窗体上有两个Image、两个按钮、一个Edit(用于显示写了多少)。
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TMemoryStream *pms=new TMemoryStream();
Image1->Picture->Bitmap->SaveToStream(pms);
int N=pms->Size;
pms->Position=0;
char *buffer=new char[N+1] ;
pms->ReadBuffer(buffer,N*sizeof(char));
//对数据进行加密;
//.....
//开始写文件
int fhwnd;
String sfile="PICME.DAT";
if (!FileExists(sfile))
{
fhwnd=FileCreate(sfile);
FileClose(fhwnd);
}
fhwnd=FileOpen(sfile,fmOpenWrite);
FileSeek(fhwnd,0,2); //移动到文件尾;
Edit1->Text = (sizeof(char)*N);
FileWrite(fhwnd,buffer,sizeof(char)*N);
FileClose(fhwnd);
delete []buffer;
delete pms;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
TMemoryStream *pms=new TMemoryStream();
String sfile="PICME.DAT";
char *buffer;
int fhwnd, iFileLength,N;
fhwnd=FileOpen(sfile,fmOpenRead);
iFileLength = FileSeek(fhwnd,0,2);
FileSeek(fhwnd,0,0);
N=(iFileLength+1)/sizeof(char);
buffer=new char[N+1];
FileRead(fhwnd,buffer,sizeof(char)*N);
//对数据进行解密;
//...
//
pms->Size=N;
pms->WriteBuffer(buffer,N*sizeof(char));
pms->Position=0;
Image2->Picture->Bitmap->LoadFromStream(pms);
FileClose(fhwnd);
delete []buffer;
delete pms;
}
//---------------------------------------------------------------------------
JetKingLau
2004-05-14
打赏
举报
回复
但这种做法别人仍能看到图片,如果要使得加密后别人不能够用 Bitmap->LoadFromFile(...) 来显示图片,则可以将图片保存到一个内存流(TMemoryStream),将该内存流的数据加密后再保存到文件。
JetKingLau
2004-05-14
打赏
举报
回复
偶通常是在 BMP 的某个固定区域,使用某个算法将自己的加密图(如:签名)整合在一起。
COKING
2004-05-14
打赏
举报
回复
http://www.vckbase.com/document/listdoc.asp?mclsid=1&sclsid=109
des算法
加密
bmp
图像
用des算法对
bmp
图像进行
加密
,使之变成雪花
BMP
图片
写入
加密
信息
BMP
图片
写入
加密
信息,在数据区写入!测试通过,更加详细的说明请查看本人空间文章!
python使用百度OCR识别
图片
表格
在Python环境下,利用百度AI开放平台文字识别技术,对
图片
类表格进行识别,生成Excel
文件
,并下载到指定
文件
夹内。
图片
支持jpg/png/
bmp
格式,推荐使用JPG格式。步骤: 1、注册并登录百度AI开放平台 2、创建文字识别应用,并记下该应用的AppID、API Key和Secret Key。 3、安装OCR Python SDK。 4、在Pycharm中建立Python项目 5、编写Python
代码
6、运行Python程序
bmp
图像可视
分
存
加密
算法c语言实现
c语言实现
bmp
图像可视
分
存
加密
算法实现,包括
bmp
格式读取、存储,含图像灰度化处理,二值化处理、随机列变化、22黑白
分
存等基本
bmp
图像处理。
AES
加密
BMP
图片
从Linux内核移植而来的AES算法,应用于VC中实现
加密
BMP
图片
,算法的效率很快
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章