2013-03-04 505 views
7

我需要一個函數,它將在Excel中取出整個單元格值,並將該值轉換爲新單元格中的MD5散列值。在Excel中有沒有一個公式可以做到這一點?我需要解決方案而不使用VBA。可能嗎?MD5在不使用VBA的情況下在excel中的散列函數

+5

*「我需要解決方案,而不使用VBA。」*簡短回答:No. – Tomalak 2013-03-04 12:13:38

+3

VBA方法在這裏討論:http://stackoverflow.com/questions/125785/password-hash-function-for-excel -vba/125844。你不明白爲什麼你的要求禁止VBA,我不確定是否有非VBA解決方案。 – Marc 2013-03-04 16:32:54

+0

@ user2002935純粹的Excel公式解決方案几乎不可能實現,我認爲這是不值得的。看向VBA並提供您的想法/社區援助的初始代碼。 – 2013-03-04 17:04:25

回答

17

我做到了。在這裏,您可以在沒有VBA的純Excel中下載MD5。Office 2013 ONLY。

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

辦公室2013配備了像BITAND()BITOR()BITXOR()BITR[L]SHIFT()位操作方便功能。我認爲這是技術上可能的在以前的Office版本中實現MD5,但它將是徹頭徹尾的,因爲你將不得不將值轉換爲二進制,然後將其轉換爲字符串,然後做一些字符替換與算術加/減等混合等等。加上這個15位數字的最大數字精度(這意味着即使處理16位二進制數值也很難)。

我的工作簿可以處理長達1024個ASCII字符的字符串。這是爲了減小文件大小(已經是185 kb)。如果需要處理更長的消息,則可以將計算塊添加到表格的底部(一個計算塊包含64行)。但我認爲這足以證明純Excel中的MD5並不是一個好主意。

+6

通過一系列upvotes,似乎你有一個工作的解決方案,但爲了這個網站的長久性,並且不依賴於外部限制的外部參考,你能否將適當的表達式作爲你的答案的一部分張貼出來? – billinkc 2015-11-13 15:51:36

+0

好的,我會努力工作!感謝您的反饋。 – Taosique 2015-11-16 16:08:57

+0

@Taosique這太不可思議了!這可以改變,所以你可以複製一整列輸入並獲得一列輸出? – 2016-02-02 12:30:20

相關問題