Преобразование PHP и Visual Basic 2008 - PullRequest
0 голосов
/ 29 октября 2009

Мне нужна помощь для преобразования этого в 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. Но если вы, ребята, знаете способ шифрования и дешифрования MD5 в Visual Basic 2008, пожалуйста, покажите мне! (это также должно работать для PHP).

1 Ответ

1 голос
/ 30 октября 2009

Вместо преобразования вышеуказанной подпрограммы в PHP, здесь есть подпрограмма для преобразования строки в ее хэш MD5 в VB.NET:

Function getMD5Hash(ByVal strToHash As String) As String

    Dim md5Obj As New Security.Cryptography.MD5CryptoServiceProvider

    Dim bytesToHash() As Byte = System.Text.Encoding.ASCII.GetBytes(strToHash)

    bytesToHash = md5Obj.ComputeHash(bytesToHash)

    Dim strResult As String = ""

    For Each b As Byte In bytesToHash

        strResult += b.ToString("x2")

    Next

    Return strResult

End Function

в PHP вы можете использовать функцию md5:

$hashedString = md5(strToHash);

По своей природе, как хеш, вы не можете расшифровать хеш, вы можете только его хешировать и сравнить с сохраненным хешем.

Конечно, я должен сослаться на пост «Ужасы кодирования» на Радужных таблицах и засолять ваши хэши:

Ужасы кодирования : Взлом хеша радуги

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...