不使用VBA或宏的基于Excel公式的SHA256 / SHA512哈希函数

14

现在是2017年,如果安全性很重要,任何需要使用哈希值的人都应该避免使用“破损”的MD5。有没有发现或创建一种在Excel中更安全的SHA256或SHA512哈希方法,而不使用VBA或宏?

曾经有一个非常出色的例子,超过3年半之前用MD5实现过(如此见于这个SO:Excel中不使用VBA的MD5哈希函数)。

避免使用VBA /宏的原因:与移动设备(如iOS上的Excel)的兼容性。

附注:原始的Stack Overflow帖子有一个成功的答案,但链接已失效,这里提供一个新链接供参考:https://tzamtzis.gr/2017/web-analytics/excel-function-md5-hashing-without-vba/


认真地,开始一个赏金计划.. 找到原始编码者.. 或者一位实习生。(: | 实现加密算法并不容易,但也不是不可能的。既然你提到避免“破碎”的哈希很重要,我认为可以轻松排除SHA256和SHA512。| 在我看来:如果您的业务需要这个功能,那么值得在内部开发它。 - p._phidot_
2
我非常反对 @p-phidot 的评论。在我看来,这样做没有任何帮助OP的地方,非常粗鲁,并且完全没有任何接近回答这个有效问题的意义。请不要再发这种毫无意义和无益的评论。 - MS Berends
1个回答

16
我已经有一个Excel文件,限制输入字符数在55个以内,更多是用于教育目的(例如如何在Excel中查看SHA256的工作原理...?)。
总结一下:
- 不使用VBA。 - 不使用命名范围。 - 不使用数组。 - 使用2007年及以上版本中的标准Excel函数。 - 格式为*.xlsx
从OneDrive下载:Download from OneDrive,或者从Google Drive下载:Download from Google Drive

2
谢谢@PGSystemTester!这太神奇了,它甚至可以在我的iPhone上运行!对不起我花了这么长时间才感谢你。 - JKVeganAbroad
这个方法并不像设计时那样填充整列。应该如何实现? - mindmischief
@mindmischief Google表格有一个脚本库,可以将sha256作为数组执行,您可以将其用作自定义函数。从那里开始,您可以拖动值的列。示例文件在此处:https://docs.google.com/spreadsheets/d/1alk5njX-ZK7jqWKqq9n9kGRmeXoP1O2dgWGYzbHf7fU/edit#gid=0 请注意,如果您正在尝试进行某种破解,则有更好的方法来完成此操作。 - pgSystemTester

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接