【发布时间】:2009-10-29 20:37:51
【问题描述】:
我需要帮助将其转换为 PHP:
Public Function Encrypt(ByVal text As String) As String
Dim charSet1 As String, charSet2 As String, i As Long
Dim pos As Long, encryptedChar, encryptedText
charSet1 = " ?!@#$%^&*()_+|0123456789abcdefghijklmnopqrstuvwxyz.,-~ABCDEFGHIJKLMNOPQRSTUVWXYZ¿¡²³ÀÁÂÃÄÅÒÓÔÕÖÙÛÜàáâãä娶§Ú¥"
charSet2 = " ¿¡@#$%^&*()_+|01²³456789ÀbÁdÂÃghÄjklmÅÒÓqÔÕÖÙvwÛÜz.,-~AàáâãFGHäJKåMNضQR§TÚVWX¥Z?!23acefinoprstuxyBCDEILOPSUY"
For i = 1 To Len(text)
pos = InStr(charSet1, Mid(text, i, 1))
If pos > 0 Then
encryptedChar = Mid(charSet2, pos, 1)
encryptedText = encryptedText + encryptedChar
Else
encryptedText = encryptedText + Mid(text, i, 1)
End If
Next
Encrypt = encryptedText
End Function
从视觉基础到 PHP...
我正在为我的网站制作一个像上面介绍的那样用 PHP 来散列的文本。上面的代码是自制的,所以它不像 MD5 或 SHA1。但是,如果你们知道在 Visual basic 2008 中加密和解密 MD5 的方法,请告诉我! (这也必须适用于 PHP)。
【问题讨论】:
-
MD5 是一个散列函数,它从任意长度的消息中生成一个 128 位的数字。从哈希值“解密”原始消息是不可能的,但是您可以找到一组哈希到相同值(哈希冲突)的消息,其中一个将是原始消息。