vb.net中的加密和解密TripleDES问题

时间:2018-09-13 15:09:36

标签: vb.net visual-studio visual-studio-2010 encryption

我正在使用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更改为“这是测试”。它运作完美。我在做什么错了?

0 个答案:

没有答案