Проблемы с шифрованием и дешифрованием TripleDES в vb.net - PullRequest
0 голосов
/ 13 сентября 2018

Я практикую шифрование и дешифрование с помощью текстового файла с помощью TipleDES. Я ввожу слово в текстовое поле, которое находится в моем приложении, и затем нажимаю кнопку, чтобы сохранить пароль в текстовом файле. Я проверяю текстовый файл, чтобы увидеть, шифрует ли он его, и затем я пытаюсь расшифровать текст. Он снова зашифровывает и не расшифровывает. Я не уверен, что делаю не так.

Public Function EncryptTripleDES(strInput As String, btKey As String) As String
    Dim desTDES As New TripleDESCryptoServiceProvider()
    Dim hashMD5TDES As New MD5CryptoServiceProvider()
    Dim btHash As Byte()
    Dim btBuff As Byte()
    btHash = hashMD5TDES.ComputeHash(Encoding.UTF8.GetBytes(btKey))
    desTDES.Key = btHash
    desTDES.Mode = CipherMode.ECB
    btBuff = Encoding.UTF8.GetBytes(strInput)
    Dim strResult As String = Convert.ToBase64String _
     (desTDES.CreateEncryptor().TransformFinalBlock(btBuff, 0,
      btBuff.Length))
    Return strResult
End Function
Public Function DecryptTripleDES(strInput As String, btKey As String) As String
    Dim desTDES As New TripleDESCryptoServiceProvider()
    Dim hashMD5TDES As New MD5CryptoServiceProvider()
    Dim btHash As Byte()
    Dim btBuff As Byte()
    btHash = hashMD5TDES.ComputeHash(Encoding.UTF8.GetBytes(btKey))
    desTDES.Key = btHash
    desTDES.Mode = CipherMode.ECB
    btBuff = Convert.FromBase64String(strInput)
    Dim strResult As String = Encoding.UTF8.GetString _
     (desTDES.CreateDecryptor().TransformFinalBlock(btBuff, 0,
      btBuff.Length))
    Return strResult
End Function

Это мои функции для шифрования и дешифрования.

strEncode = EncryptTripleDES(EmailPasswordTextBox.Text, "HTG")
strDecode = DecryptTripleDES(strEncode, "HTG")
Console.WriteLine("Encrypted: {0}", strEncode)
Console.WriteLine("Decrypted: {0}", strDecode)

Если я изменю EmailPasswordTextBox.Text на «Это тест». Работает отлично. Что я делаю не так?

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