【发布时间】:2021-04-02 05:43:50
【问题描述】:
我在 vb.net/Jquery 中有一个项目。我使用加密功能来验证与我的 Intranet 的连接。
Public Shared Function ValidatePassword(passwordToTest As String, passwordParam As paramPassword) As Boolean
Dim hash() As Byte = passwordParam.hashByteArray
Dim testHash() As Byte = PBKDF2(passwordToTest, passwordParam.saltByteArray, passwordParam.iteration, passwordParam.hashByteArraySize)
Return SlowEquals(hash, testHash)
End Function
Private Shared Function SlowEquals(a() As Byte, b() As Byte) As Boolean
Dim diff As UInteger = CUInt(a.Length) Xor CUInt(b.Length)
For i As Integer = 0 To Math.Min(a.Length, b.Length) - 1
diff = CUInt(a(i) Xor b(i)) Or diff
Next
Return diff = 0
End Function
Private Shared Function PBKDF2(password As String, salt() As Byte, iterations As Integer, outputBytes As Integer) As Byte()
Dim PBKDF2_hasher As Rfc2898DeriveBytes = New Rfc2898DeriveBytes(password, salt)
PBKDF2_hasher.IterationCount = iterations
Return PBKDF2_hasher.GetBytes(outputBytes)
End Function
现在如果我离线,我想从 indexdb 检查连接。然后我尝试模拟这个功能位,我一次又一次地失败了。 我看到 this 但需要 node.js。我没有适应,我更喜欢不要仅仅为此而放置 node.js 我看到另一个here,但它很长,我没有将结果放入变量中,最糟糕的是结果与我的哈希不同...... 我从 google 看到了 cryptojs,但不明白如何使用它。当我下载它时,我有 2 个文件夹:组件/汇总??
谁能帮我找到一个简单的方法来使用加密库以及如何使用它?
【问题讨论】:
-
我已经找到这个页面,但未能实现它们,我如何在 Visual Studio 中插入,就像你在我的第一篇文章中看到的那样。而且我从不使用 node.js。这就是为什么 cryptojs 引起了我的注意,但是如何使用它
-
或者一个简单的例子codepen会很好,只是为了理解包含和其他东西
标签: javascript encryption pbkdf2