I am trying to ecrypt passwords to store them in a DB but I want to store them in String(nvarchar ) format. So I have written this class
But every time I try
I get "Padding is invalid and cannot be converted" Anyone know how I can fix this?
Tried different padding modes but same error everytime.
Code:
Public Class PasswordEncryption
Private IV As Byte() = Convert.FromBase64String("pl21q5lX3KvPdKEyss7Za0i2nEdfzfbHvbsxlsKCWbU=")
Private pKey As Byte() = Convert.FromBase64String("1taYM5kPvxIdvNwBcuQefdiKMlzgqpdgiP/BjG4anVw=")
Dim Cipher As RijndaelManaged
Public Sub New()
Cipher = New RijndaelManaged
Cipher.KeySize = 256
Cipher.BlockSize = 256
Cipher.Mode = CipherMode.CBC
Cipher.Key = pKey
Cipher.IV = IV
End Sub
Public Function EncryptMessage(ByVal plainText As String) As String
Dim BR As Byte() = Encoding.Unicode.GetBytes(plainText)
Dim transform As ICryptoTransform = Cipher.CreateEncryptor()
Dim cipherText As Byte() = transform.TransformFinalBlock(BR, 0, BR.Length)
Return Convert.ToBase64String(Cipher.Key)
End Function
Public Function DecryptMessage(ByVal cipherText As String) As String
Dim BR As Byte() = Convert.FromBase64String(cipherText)
Dim transform As ICryptoTransform = Cipher.CreateDecryptor()
Dim plainText As Byte() = transform.TransformFinalBlock(BR, 0, BR.Length)
Return Convert.ToBase64String(plainText)
End Function
End Class
Code:
Dim Enc As New PasswordEncryption
Dim PassEnc As String = Enc.EncryptMessage("hello")
Dim PassUnEnc As String = Enc.DecryptMessage(PassEnc)
Tried different padding modes but same error everytime.
Comment