不使用VBA的Excel中的MD5哈希函数

时间:2013-03-04 12:11:31

标签: excel excel-formula md5

我需要一个函数,它将在Excel中获取整个单元格值,并将值转换为新单元格中的MD5哈希等效值。 excel中是否有一个公式可以做到这一点?我需要解决方案而不使用VBA。有可能吗?

1 个答案:

答案 0 :(得分:27)

我这样做了。在这里,您可以在没有VBA的纯Excel下载 MD5。 仅限Office 2013。

https://tzamtzis.gr/2017/web-analytics/excel-function-md5-hashing-without-vba/ https://tzamtzis.gr/tzamtziswp/wp-content/uploads/2017/05/MD5.xlsx

Office 2013为BITAND()BITOR()BITXOR()BITR[L]SHIFT()等按位操作提供了便利的功能。我认为在技术上可能在以前版本的Office中实现MD5,但它将完全是地狱,因为你必须将值转换为二进制,然后将其转换为字符串,然后进行一些字符替换混合使用算术加法/减法等。加上这个15位数的最大数字精度(这意味着你甚至很难处理16位二进制值)。

我的工作簿可以处理长达1024个ASCII字符的字符串。这是为了减小文件大小(已经是185 kb)。如果需要处理更长的消息,可以将计算块添加到表的底部(单个计算块由64行组成)。但我认为这足以证明纯Excel中的MD5并不是一个好主意。