Hallo,
ich möchte gerne etwas in VB.NET mit AES verschlüsseln, jedoch kommt hierbei immer ein falscher Wert raus.
In Java habe ich folgendes benutzt und hier stimmt der ausgegebene Wert auch:
Java:
VB.NET:
Woran liegt das?
ich möchte gerne etwas in VB.NET mit AES verschlüsseln, jedoch kommt hierbei immer ein falscher Wert raus.
In Java habe ich folgendes benutzt und hier stimmt der ausgegebene Wert auch:
Java:
C#-Quellcode
- public static void main(String[] args) throws Exception {
- byte[] key = "abcdefgh12345678".getBytes(Charset.forName("UTF-8"));
- byte[] input = "Test123".getBytes(Charset.forName("UTF-8"));
- String encrypted = Base64.getEncoder().encodeToString(encrypt(key, input));
- //Output: 1Qpz0SfhOhOlBEQ6wIbfxw==
- }
- private static byte[] encrypt(byte[] bKey, byte[] bInput) throws Exception {
- SecretKeySpec specKey = new SecretKeySpec(bKey, "AES");
- Cipher localCipher = Cipher.getInstance("AES");
- localCipher.init(1, specKey);
- return localCipher.doFinal(bInput);
- }
VB.NET:
VB.NET-Quellcode
- Dim key As String = "abcdefgh12345678"
- Dim input As String = "Test123"
- Dim encrypted As String = Convert.ToBase64String(Encoding.UTF8.GetBytes(AES_Encrypt(key, input)))
- 'Output: MkIreHZBS1NEL205S0xzR2lISXhSdz09
- Public Function AES_Encrypt(ByVal key As String, ByVal input As String) As String
- Dim AES As New System.Security.Cryptography.RijndaelManaged
- Dim Hash_AES As New System.Security.Cryptography.MD5CryptoServiceProvider
- Dim encrypted As String = ""
- Try
- Dim hash(31) As Byte
- Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.Encoding.UTF8.GetBytes(key))
- Array.Copy(temp, 0, hash, 0, 16)
- Array.Copy(temp, 0, hash, 15, 16)
- AES.Key = hash
- AES.Mode = CipherMode.ECB
- Dim DESEncrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateEncryptor
- Dim Buffer As Byte() = System.Text.Encoding.UTF8.GetBytes(input)
- encrypted = Convert.ToBase64String(DESEncrypter.TransformFinalBlock(Buffer, 0, Buffer.Length))
- Return encrypted
- Catch ex As Exception
- Return ""
- End Try
- End Function
Woran liegt das?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Kraizy“ ()