BMP图像信息隐藏
在BMP圖像中隱藏信息 1 clc;
2 clear;
3 fid = fopen('baboon.bmp', 'r');
4 [a,length] = fread(fid,inf,'uint8');
5 fclose(fid);
6 msgfid = fopen('hidden.txt','r');
7 [msg,count] = fread(msgfid);
8 fclose(msgfid);
9 new_picture_array = a(1:54); %把文件頭復制給新數組
10 new_picture_array(11) = 54 + count; %修改文件偏移
11 new_picture_array(3) = new_picture_array(3) + count;% 修改文件大小
12 j = 1;
13 for i = 55:54+count
14 new_picture_array(i) = uint8(msg(j)); %把信息隱藏在新的圖像數組中
15 j = j + 1;
16 end
17 for i=55+count:length+count
18 new_picture_array(i) = a( i - count); % 把隱藏前文件的數據部分復制到新數組中
19 end
20 new_picture_array = uint8(new_picture_array);
21 fid = fopen('bmpheadhiding.bmp','wb'); %新建一個bmp圖像
22 fwrite(fid, new_picture_array);%把帶有隱藏信息的數組寫入bmp圖像
23 fclose(fid); View Code
檢測是否在頭部隱藏信息
clc; clear; fid=fopen('baboonhide.bmp','r'); [a, length] = fread(fid, inf, 'uint8'); % 實際長度 fclose(fid); fid=fopen('baboonhide.bmp','r'); status = fseek(fid,2,'bof'); fileb = fread(fid, 4, 'uint8'); filelength = fileb(1)*1 + fileb(2)*256 + fileb(3)*256^2+fileb(4)*256^3; % 根據文件頭算出長度 diff = length - filelength; %diff表示隱藏的信息長度如果相同,表示沒有隱藏任何信息 fclose(fid); View Code?
轉載于:https://www.cnblogs.com/YKang/p/9250913.html
總結
- 上一篇: 使用canvas绘制小程序码
- 下一篇: 从闭包函数的变量自增的角度 - 解析js