-
大小: 2.86MB文件类型: .zip金币: 1下载: 0 次发布日期: 2023-10-11
- 语言: Matlab
- 标签: Difference E Reversible
资源简介
Reversible Data Embedding Using a Difference Expansion算法matlab实现
代码片段和文件信息
function h = hash(inpmeth)
% HASH - Convert an input variable into a message digest using any of
% several common hash algorithms
%
% USAGE: h = hash(inp‘meth‘)
%
% inp = input variable of any of the following classes:
% char uint8 logical double single int8 uint8
% int16 uint16 int32 uint32 int64 uint64
% h = hash digest output in hexadecimal notation
% meth = hash algorithm which is one of the following:
% MD2 MD5 SHA-1 SHA-256 SHA-384 or SHA-512
%
% NOTES: (1) If the input is a string or uint8 variable it is hashed
% as usual for a byte stream. Other classes are converted into
% their byte-stream values. In other words the hash of the
% following will be identical:
% ‘abc‘
% uint8(‘abc‘)
% char([97 98 99])
% The hash of the follwing will be different from the above
% because class “double“ uses eight byte elements:
% double(‘abc‘)
% [97 98 99]
% You can avoid this issue by making sure that your inputs
% are strings or uint8 arrays.
% (2) The name of the hash algorithm may be specified in lowercase
% and/or without the hyphen if desired. For example
% h=hash(‘my text to hash‘‘sha256‘);
% (3) Carefully tested but no warranty. Use at your own risk.
% (4) Michael Kleder Nov 2005
%
% EXAMPLE:
%
% algs={‘MD2‘‘MD5‘‘SHA-1‘‘SHA-256‘‘SHA-384‘‘SHA-512‘};
% for n=1:6
% h=hash(‘my sample text‘algs{n});
% disp([algs{n} ‘ (‘ num2str(length(h)*4) ‘ bits):‘])
% disp(h)
% end
inp=inp(:);
% convert strings and logicals into uint8 format
if ischar(inp) || islogical(inp)
inp=uint8(inp);
else % convert everything else into uint8 format without loss of data
inp=typecast(inp‘uint8‘);
end
% verify hash method with some syntactical forgiveness:
meth=upper(meth);
switch meth
case ‘SHA1‘
meth=‘SHA-1‘;
case ‘SHA256‘
meth=‘SHA-256‘;
case ‘SHA384‘
meth=‘SHA-384‘;
case ‘SHA512‘
meth=‘SHA-512‘;
otherwise
end
algs={‘MD2‘‘MD5‘‘SHA-1‘‘SHA-256‘‘SHA-384‘‘SHA-512‘};
if isempty(strmatch(methalgs‘exact‘))
error([‘Hash algorithm must be ‘ ...
‘MD2 MD5 SHA-1 SHA-256 SHA-384 or SHA-512‘]);
end
% create hash
x=java.security.MessageDigest.getInstance(meth);
x.update(inp);
h=typecast(x.digest‘uint8‘);
h=dec2hex(h)‘;
if(size(h1))==1 % remote possibility: all hash bytes < 128 so pad:
h=[repmat(‘0‘[1 size(h2)]);h];
end
h=lower(h(:)‘);
clear x
return
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2009-04-25 18:48 基于差分的可逆水印\
文件 527280 2009-03-19 23:41 基于差分的可逆水印\dmrc_difference_expansion.pdf
文件 2814 2009-04-23 20:53 基于差分的可逆水印\hash.m
文件 66616 2009-03-20 10:30 基于差分的可逆水印\lena.bmp
文件 466 2009-04-23 20:37 基于差分的可逆水印\psnr.m
文件 6291 2009-04-24 14:57 基于差分的可逆水印\Resersible_watermarking.m
文件 2228924 2009-03-19 23:36 基于差分的可逆水印\revwm.pdf
文件 3571 2009-04-22 20:21 基于差分的可逆水印\Rlecode.m
文件 805 2009-04-16 20:51 基于差分的可逆水印\Rlerecode.m
文件 281088 2009-04-25 18:47 基于差分的可逆水印\程序文档.doc
- 上一篇:unity3d别墅房屋模型
- 下一篇:access仓库管理系统
相关资源
- access仓库管理系统
- DIRECT 全局优化算法 matlab程序 附带
- MATLAB实现基于Daugman的虹膜提取算法源
- matconvnet-1.0-beta25
-
Simuli
nkStateFlow建模规范 - 模式识别4个实验(matlab)
- MATLABDeepLearning.rar
- MassiveMIMO信号检测算法以及信道估计算
- JPEG解析包matlab
-
Introduction to Simuli
nk with Engineering A - 信号处理滤波器设计——基于MATLAB和
- 基于相干矩阵的freeman分解
- 主动噪声控制,fxLMS Active-Noise-Contro
- 这是最优传输理论optimal transport theo
- radarsignalanalysisandprocessingusingmatlab.pd
- 可视化贝叶斯网络建模软件GeNIe2.2用户
- Understanding LTE with MATLAB(电子书及ma
- SPM8 manual
- 《30天自制操作系统》kindle电子书
- 基于K-means算法的遥感图像分类的mat
- 鸟哥的Linux私房菜:服务器架设篇第
- 鸟哥的Linux私房菜—基础学习篇第四版
- a mind for numbers - barbaraoakley学习之道英
- 遗传算法(Genetic Algorithm)MATLAB案例详
- Docker.mmap
- _image fusion(精品.zip
- Access学生选课系统
- 数据集标签制作的matlab代码
- Multi-Sensor Data Fusion with MATLAB
- Anisotropic Diffusion,各向异性扩散论文
评论
共有 条评论