图像缩略图

DataHash

版本1.7.1(12 KB)由 1月
数组、结构、单元格或文件的MD5或SHA哈希

11.6K下载

更新2019年5月19日

查看许可证

用于Matlab的数组,结构,单元格或文件的哈希
散列=数据散列(数据、选项等)
数据:内置类型数组(U)INT8/16/32/64、单、双(实数或复数)
字符、逻辑、单元、结构(标量或数组、嵌套)、函数\句柄。
选项:字符向量列表:
散列方法:“SHA-1”、“SHA-256”、“SHA-384”、“SHA-512”、“MD2”、“MD5”。
输出格式:“十六进制”、“十六进制”、“双精度”、“uint8”、“base64”
输入类型:
“数组”:输入[Data]的内容、类型和大小如下
考虑创建散列。嵌套单元
和结构数组是递归解析的。空数组
不同的类型回复不同的散列。
“file”:[Data]被视为文件名,并计算哈希值
对于文件内容。
'bin': [Data]是一个数字,逻辑或CHAR数组。只有
考虑数组的二进制内容,因此
e、 g.不同类型的空数组回复相同的哈希。
“ascii”:与“bin”相同,但仅为16位的8位ascii部分
考虑了Matlab字符。
哈希:字符串或数字向量。
示例:
默认值:MD5,十六进制:
DataHash ([]) % 7 de5637fd217d0e44e0082f4d79b3e73

SHA-1,Base64:
S.a=uint8([]);
S.b={1:10},struct('q',uint64(415))};
DataHash(S,'base64','SHA-1')%ZMe4eUAp0G9TDrvSW0/Qc0gQ9/A

与使用ASCII字符串的标准哈希程序的比较:
DataHash(“abc”,“sha - 256”,“ascii”)

Michael Kleder的“计算哈希”工作原理类似,但不接受结构、单元格或文件:
//www.tatmou.com/matlabcentral/fileexchange/8944

“GetMD5”的速度快2到100倍,但它只回复MD5哈希,并且需要C编译器:
//www.tatmou.com/matlabcentral/fileexchange/25921

已测试:Matlab7.7、7.8、7.13、8.6、9.1、9.5、Win7和10/64、Java:1.3、1.6、1.7

欢迎您的错误报告和增强请求。请随时向我询问Matlab6.5的版本。

PS.MD5和SHA1散列值是“断开的”:您可以构造一个具有特定散列的数据集。但要检查文件的完整性或识别一组变量,这两种方法都是可靠的。

引用为

1月(2021年)。DataHash(//www.tatmou.com/matlabcentral/fileexchange/31272-datahash),MATLAB中央文件交换。恢复.

MATLAB版本兼容性
创建R2016b
与任何版本兼容
平台兼容性
窗户 马科斯 Linux

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始狩猎!