相关疑难解决方法(0)

Excel VBA的密码哈希函数

我需要一个用Excel VBA编写的函数,它将使用标准算法(如SHA-1)对密码进行哈希处理.一些简单的界面,如:

Public Function CreateHash(Value As String) As String
...
End Function
Run Code Online (Sandbox Code Playgroud)

该功能需要在安装了Excel 2003的XP工作站上运行,否则必须不使用第三方组件.它可以引用和使用XP提供的DLL,例如CryptoAPI.

有没有人知道实现这种散列功能的样本?

excel hash vba sha1

32
推荐指数
3
解决办法
10万
查看次数

VBA哈希字符串

如何使用Excel VBA获取长字符串的简短哈希

什么是给定的

  • 输入字符串不超过80个字符
  • 有效输入字符为:[0..9] [A_Z]._/
  • 有效输出字符为[0..9] [A_Z] [a_z] (可以使用大小写)
  • 输出哈希值不应超过~12个字符(更短更好)
  • 不需要是唯一的,因为这将导致太长的哈希

到目前为止我做了什么

我认为这个答案是一个很好的开始,因为它生成一个4位十六进制代码(CRC16).

但是4位数字很少.在我的400字符串测试中,20%在其他地方得到了重复.
产生碰撞的机会太高了.

Sub tester()
    For i = 2 To 433
        Cells(i, 2) = CRC16(Cells(i, 1))
    Next i
End Sub


Function CRC16(txt As String)
Dim x As Long
Dim mask, i, j, nC, Crc As Integer
Dim c As String

Crc = &HFFFF

For nC = 1 To Len(txt)
    j = Val("&H" + Mid(txt, nC, 2))
    Crc = Crc Xor j
    For j = 1 …
Run Code Online (Sandbox Code Playgroud)

hash vba excel-2003

14
推荐指数
3
解决办法
4万
查看次数

基于Excel公式的函数用于SHA256 / SHA512哈希运算,无需VBA或宏

到了2017年,如果安全性很重要,那么任何需要使用哈希的人都应该避免使用诸如MD5之类的“破碎”哈希。是否有人找到或创建了一种无需使用VBA或宏即可在Excel中执行更安全的SHA256或SHA512哈希的方法?

过去35,000年前使用MD5就是一个很好的例子(如本SO:不使用VBA的excel中的MD5哈希函数所示)。

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

旁注:原始的Stack Overflow帖子具有成功的答案,但链接无效,这是供参考的新链接:https : //tzamtzis.gr/2017/web-analytics/excel-function-md5-hashing-without-vba /

excel hash sha256 excel-formula sha512

6
推荐指数
1
解决办法
5276
查看次数

标签 统计

hash ×3

excel ×2

vba ×2

excel-2003 ×1

excel-formula ×1

sha1 ×1

sha256 ×1

sha512 ×1