Проверьте, является ли строка нормальной строкой или Base64 String - PullRequest
0 голосов
/ 01 июня 2018

Следующий метод, который я использую для проверки Base64

    Public Function ValidateBase64String(ByVal sString As String) As Boolean     
        If (sString.Length <> 4) Then
            Dim b As Byte() = Convert.FromBase64String(sString)
            Return True
        Else
            Return False
        End If
End Function

Я передаю "johnjohn" как строку в метод, и он возвращает следующую строку как строку base64.По какой причине вместо возврата false возвращается true.

1 Ответ

0 голосов
/ 01 июня 2018

Следующий метод работает почти каждый раз

    Console.WriteLine(ValidateBase64String("johnjohn"))-> it will always returns false

    Public Function ValidateBase64String(ByVal value As string) As Boolean
    Try
        If value.Length <> 4 AndAlso (Base64Decode(value) IsNot Nothing AndAlso System.Text.RegularExpressions.Regex.IsMatch(Base64Decode(value), "^[a-zA-Z0-9\+/]*={0,3}$")) Then
            Return True
        End If
    Catch ex As Exception            
    End Try
    Return False
End Function

Public Function Base64Decode(ByVal base64EncodedData As String) As String
    Try
        Dim base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData)
        Return System.Text.Encoding.UTF8.GetString(base64EncodedBytes)
    Catch ex As Exception            
    End Try
    Return Nothing
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...