用asp生成类似这样字符串(bb05edc43264b88670743ff6045422ec)的算法

来源:百度知道 编辑:UC知道 时间:2024/06/07 12:29:47
想在数据库中用这样的一种不重复的随机字符串作为标识。
如:bb05edc43264b88670743ff6045422ec(32位长 是16位数)
有没有好的asp生成的算法,要保证不重复。

用MD5可以生成这样的效果
不过好像没有这么多位数!

md5加密算法代码:
<%
Private Const BITS_TO_A_BYTE = 8
Private Const BYTES_TO_A_WORD = 4
Private Const BITS_TO_A_WORD = 32

Private m_lOnBits(30)
Private m_l2Power(30)

Private Function LShift(lValue, iShiftBits)
If iShiftBits = 0 Then
LShift = lValue
Exit Function
ElseIf iShiftBits = 31 Then
If lValue AND 1 Then
LShift = &H80000000
Else
LShift = 0
End If
Exit Function
ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
Err.Raise 6
End If

If (lValue And m_l2Power(31 - iShiftBits)) Then
LShift = ((lValue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000
Else
LShift = ((lValue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits))
End If
End Function<