我在一个经典的 asp 站点中继承了一个旧的哈希算法,我正在将其转换为 asp.net(现阶段为 2.0)。
在我的一生中,我无法完全理解旧函数,无法用 C# 编写匹配的代码。我相信这真的很简单,但我现在看不到树木的树林。
这是带有字符串的原始经典 asp 代码,任何对等价 C# 代码的帮助将不胜感激:
Function PHash( pValue )
Dim dValue
Dim dAccumulator
Dim lTemp
Dim sValue
sValue = UCase(Trim("" & pValue))
dAccumulator = 0
For lTemp = 1 to Len(sValue)
dValue = Asc(Mid(sValue, lTemp, 1))
If (lTemp AND 1) = 1 Then
dAccumulator = Sin( dAccumulator + dValue )
Else
dAccumulator = Cos( dAccumulator + dValue )
End If
Next
dAccumulator = dAccumulator * CLng(10 ^ 9)
PHash = CLng(dAccumulator)
End Function