Imports System
Imports System.Text
Imports System.Security.Cryptography
Public Class Criptografia
Private Shared TripleDES As New TripleDESCryptoServiceProvider
Private Shared MD5 As New MD5CryptoServiceProvider
Private Const Chave As String = "TESTE"
Public Shared Function MD5Hash(ByVal value As String) As Byte()
Dim byteArray() As Byte = ASCIIEncoding.UTF8.GetBytes(value)
Return MD5.ComputeHash(byteArray)
End Function
Public Shared Function Criptografa(ByVal stringToEncrypt As String) As String
TripleDES.Key = Criptografia.MD5Hash(Chave)
TripleDES.Mode = CipherMode.ECB
Dim Buffer as Byte() = ASCIIEncoding.ASCII.GetBytes(stringToEncrypt)
Return Convert.ToBase64String(TripleDES.CreateEncryptor().TransformFinalBlock(Buffer, 0, Buffer.Length))
End Function
Public Shared Function Descriptografa(ByVal encryptedString As String) As String
TripleDES.Key = Criptografia.MD5Hash(Chave)
TripleDES.Mode = CipherMode.ECB
Dim Buffer as Byte() = Convert.FromBase64String(encryptedString)
Return ASCIIEncoding.ASCII.GetString(TripleDES.CreateDecryptor().TransformFinalBlock(Buffer, 0, Buffer.Length))
End Function
Public Shared Sub Main()
Try
Console.WriteLine(Descriptografa("JFYVJVDep2yzpc2ky/wnXA=="))
Catch ex as Exception
Console.WriteLine(ex)
End Try
End Sub
End Class
SW1wb3J0cyBTeXN0ZW0KSW1wb3J0cyBTeXN0ZW0uVGV4dApJbXBvcnRzIFN5c3RlbS5TZWN1cml0eS5DcnlwdG9ncmFwaHkKClB1YmxpYyBDbGFzcyBDcmlwdG9ncmFmaWEKICAgIFByaXZhdGUgU2hhcmVkIFRyaXBsZURFUyBBcyBOZXcgVHJpcGxlREVTQ3J5cHRvU2VydmljZVByb3ZpZGVyCiAgICBQcml2YXRlIFNoYXJlZCBNRDUgQXMgTmV3IE1ENUNyeXB0b1NlcnZpY2VQcm92aWRlcgogICAgCiAgICBQcml2YXRlIENvbnN0IENoYXZlIEFzIFN0cmluZyA9ICJURVNURSIKICAgIAogICAgUHVibGljIFNoYXJlZCBGdW5jdGlvbiBNRDVIYXNoKEJ5VmFsIHZhbHVlIEFzIFN0cmluZykgQXMgQnl0ZSgpCiAgICAgICAgRGltIGJ5dGVBcnJheSgpIEFzIEJ5dGUgPSBBU0NJSUVuY29kaW5nLlVURjguR2V0Qnl0ZXModmFsdWUpCiAgICAgICAgUmV0dXJuIE1ENS5Db21wdXRlSGFzaChieXRlQXJyYXkpCiAgICBFbmQgRnVuY3Rpb24KICAgIAogICAgUHVibGljIFNoYXJlZCBGdW5jdGlvbiBDcmlwdG9ncmFmYShCeVZhbCBzdHJpbmdUb0VuY3J5cHQgQXMgU3RyaW5nKSBBcyBTdHJpbmcKICAgICAgICBUcmlwbGVERVMuS2V5ID0gQ3JpcHRvZ3JhZmlhLk1ENUhhc2goQ2hhdmUpCiAgICAgICAgVHJpcGxlREVTLk1vZGUgPSBDaXBoZXJNb2RlLkVDQgogICAgICAgIAogICAgICAgIERpbSBCdWZmZXIgYXMgQnl0ZSgpID0gQVNDSUlFbmNvZGluZy5BU0NJSS5HZXRCeXRlcyhzdHJpbmdUb0VuY3J5cHQpCiAgICAgICAgUmV0dXJuIENvbnZlcnQuVG9CYXNlNjRTdHJpbmcoVHJpcGxlREVTLkNyZWF0ZUVuY3J5cHRvcigpLlRyYW5zZm9ybUZpbmFsQmxvY2soQnVmZmVyLCAwLCBCdWZmZXIuTGVuZ3RoKSkKICAgIEVuZCBGdW5jdGlvbgogICAgCiAgICBQdWJsaWMgU2hhcmVkIEZ1bmN0aW9uIERlc2NyaXB0b2dyYWZhKEJ5VmFsIGVuY3J5cHRlZFN0cmluZyBBcyBTdHJpbmcpIEFzIFN0cmluZwogICAgICAgIFRyaXBsZURFUy5LZXkgPSBDcmlwdG9ncmFmaWEuTUQ1SGFzaChDaGF2ZSkKICAgICAgICBUcmlwbGVERVMuTW9kZSA9IENpcGhlck1vZGUuRUNCCiAgICAgICAgCiAgICAgICAgRGltIEJ1ZmZlciBhcyBCeXRlKCkgPSBDb252ZXJ0LkZyb21CYXNlNjRTdHJpbmcoZW5jcnlwdGVkU3RyaW5nKQogICAgICAgIFJldHVybiBBU0NJSUVuY29kaW5nLkFTQ0lJLkdldFN0cmluZyhUcmlwbGVERVMuQ3JlYXRlRGVjcnlwdG9yKCkuVHJhbnNmb3JtRmluYWxCbG9jayhCdWZmZXIsIDAsIEJ1ZmZlci5MZW5ndGgpKQogICAgRW5kIEZ1bmN0aW9uCgoJUHVibGljIFNoYXJlZCBTdWIgTWFpbigpCgkgICAgVHJ5CgkgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKERlc2NyaXB0b2dyYWZhKCJKRllWSlZEZXAyeXpwYzJreS93blhBPT0iKSkKCSAgICBDYXRjaCBleCBhcyBFeGNlcHRpb24KCSAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoZXgpCgkgICAgRW5kIFRyeQoJRW5kIFN1YgpFbmQgQ2xhc3M=
System.Security.Cryptography.CryptographicException: Bad PKCS7 padding. Invalid length 17.
at Mono.Security.Cryptography.SymmetricTransform.ThrowBadPaddingException (PaddingMode padding, Int32 length, Int32 position) [0x00000] in <filename unknown>:0
at Mono.Security.Cryptography.SymmetricTransform.FinalDecrypt (System.Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) [0x00000] in <filename unknown>:0
at Mono.Security.Cryptography.SymmetricTransform.TransformFinalBlock (System.Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) [0x00000] in <filename unknown>:0
at Criptografia.Descriptografa (System.String encryptedString) [0x00000] in <filename unknown>:0
at Criptografia.Main () [0x00000] in <filename unknown>:0