Вопрос

Public Shared Function DESEncrypt(ByVal Data As String, ByVal Key As String) As Byte()
    Dim IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}
    Try
        Dim bykey() As Byte = System.Text.Encoding.UTF8.GetBytes(Left(Key, 8))
        Dim InputByteArray() As Byte = System.Text.Encoding.UTF8.GetBytes(Data)
        Dim des As New DESCryptoServiceProvider
        Dim ms As New MemoryStream
        Dim cs As New CryptoStream(ms, des.CreateEncryptor(bykey, IV), CryptoStreamMode.Write)
        cs.Write(InputByteArray, 0, InputByteArray.Length)
        cs.FlushFinalBlock()
        Return ms.ToArray()
    Catch ex As Exception
    End Try
End Function
.

Это то, что у меня в настоящее время есть для моего шифрования DES, но, как я достаточно новых для vb.net, я могу понять, как сделать его использовать Triple DES, а не DES

Это было полезно?

Решение

попробуйте это

       Public Shared Function DESEncrypt(ByVal Data As String, ByVal Key As String) As Byte()
    Dim IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}
    Try
        Dim bykey() As Byte = System.Text.Encoding.UTF8.GetBytes(Left(Key, 24))


        If String.IsNullOrEmpty(Data) Then

            Throw New ArgumentException("No data passed", "input")

        ElseIf bykey Is Nothing OrElse bykey.Length <> 24 Then

            Throw New ArgumentException("Invalid Key. Key must be 24 bytes length", "key")

        End If

        Dim InputByteArray() As Byte = System.Text.Encoding.UTF8.GetBytes(Data)

        Using ms As New IO.MemoryStream

            Using des As New Security.Cryptography.TripleDESCryptoServiceProvider


                Using cs As New Security.Cryptography.CryptoStream(ms, des.CreateEncryptor(bykey, IV), Security.Cryptography.CryptoStreamMode.Write)

                    cs.Write(InputByteArray, 0, InputByteArray.Length)
                    cs.FlushFinalBlock()
                    Return ms.ToArray()

                End Using

            End Using

        End Using

    Catch ex As Exception
    End Try

End Function
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top