DATAHASH——Matlab散列数组、结构、细胞或文件
散列= DataHash(数据、选择…)
数据:内置类型的数组(U) INT8/16/32/64,单,双(真实的或复杂的)
CHAR、逻辑、细胞结构(标量或数组,嵌套),function_handle。
选择:char向量列表:
散列方法:‘sha - 1’,‘sha - 256’,‘sha - 384’,‘sha - 512’,‘MD2’,‘MD5’。
输出格式:“六角”、“十六进制”,“双”、“uint8”,“base64”
输入类型:
“数组”:内容、类型和大小的输入(数据)
考虑创建散列。嵌套的细胞
递归地解析和结构体数组。空数组
不同的类型回答不同的散列。
“文件”(数据):作为文件名和散列计算
文件的内容。
“本”(数据):是一个数值,逻辑或CHAR数组。只有
二进制数组的内容被认为是这样
如空数组不同类型回答相同的散列。
“ascii”:“本”一样,但只有8位ascii 16位的一部分
Matlab识字课被认为是。
散列:字符串或数值向量。
例子:
默认值:MD5,十六进制:
DataHash ([]) % 7 de5637fd217d0e44e0082f4d79b3e73
Base64 sha - 1:
年代。一个= uint8 ([]);
年代。b ={{1:10}、结构(“问”,uint64 (415))};
DataHash(年代,base64, sha - 1) % ZMe4eUAp0G9TDrvSW0 / Qc0gQ9 /
与标准的散列程序使用ASCII字符串:
DataHash (“abc”,“sha - 256”,“ascii”)
迈克尔Kleder的“计算哈希”类似的工作,但不接受结构、细胞或文件:
//www.tatmou.com/matlabcentral/fileexchange/8944
“GetMD5”是2快100倍,但是它只回复MD5散列和需要一个c编译器:
//www.tatmou.com/matlabcentral/fileexchange/25921
测试:Matlab 7.7, 7.8, 7.13, 8.6, 9.1, 9.5, Win7&10/64, Java: 1.3, 1.6, 1.7
Bugreports和增强请求是受欢迎的。随意问我关于Matlab 6.5的版本。
PS。MD5、SHA1哈希值是“破”:你可以构造一个数据集,一个特定的散列。但检查文件的完整性或识别一组变量,这两种方法是可靠的。
引用作为
1月(2023)。DataHash(//www.tatmou.com/matlabcentral/fileexchange/31272-datahash), MATLAB中央文件交换。检索。
MATLAB版本兼容性
平台的兼容性
窗户 macOS Linux标签
确认
启发:定型和typecastx C-mex功能,GetMD5,序列化/反序列化
启发:用Matlab数字签名算法(DSA),bimac md5sum /,探索——科学工作流管理工具,iansheret / CachePureFunction,alexludwigklein / MATLAB-Videos,JavaMD5,猞猁MATLAB工具箱,cache_results,cachedcall
版本 | 发表 | 发布说明 | |
---|---|---|---|
1.7.1上 | 错误修复在单元测试功能:GetMD5现在正确了。 |
||
1.7 | 改进处理字符串。接受输入的字符列表向量。 |
||
1.6 | 选择结构不是case-senisitve。String类接受数据。 |
||
1.5.0.0 | 只描述已经更改。代码并不是感动。 |
||
1.4.0.0 | 固定的错误:“二进制”模式的字符串和空数组。为“数组”模式[]和0(1 1 0)以前相同的散列。 |
||
1.3.0.0 | 接受空输入二进制模式了。 |
||
1.2.0.0 | 二进制模式增加只考虑数据的内容。 |
||
1.0.0.0 |