Verschlüsseln/Password abfrage
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 31 Antworten in diesem Thema. Der letzte Beitrag () ist von EiPott.
-
-
VB.NET-Quellcode
- Imports System.Security.Cryptography
- Imports System.Text
- Public Class SimpleAESWrapper
- Public Function Encrypt(ByVal TextToEncrypt As String, ByVal Passphrase As String, ByRef Base64IV As String) As String
- Dim aes As New AesManaged
- ' since AESManaged defaults to a keysize of 256 bit,
- ' we use sha256 to create a valid key from the
- ' passphrase
- aes.Key = (New SHA256Managed).ComputeHash(Encoding.Unicode.GetBytes(Passphrase))
- If String.IsNullOrEmpty(Base64IV) Then
- ' IV is generated by AES and stored for later use in decrpytion
- aes.GenerateIV()
- Base64IV = Convert.ToBase64String(aes.IV)
- Else
- ' if we want to use a previously generated IV
- aes.IV = Convert.FromBase64String(Base64IV)
- End If
- Dim Plaintext() As Byte = System.Text.Encoding.Unicode.GetBytes(TextToEncrypt)
- Dim EncryptedText As String = ""
- Using ms As New System.IO.MemoryStream()
- Dim enc As System.Security.Cryptography.ICryptoTransform = aes.CreateEncryptor
- Dim cs As New System.Security.Cryptography.CryptoStream(ms, enc, Security.Cryptography.CryptoStreamMode.Write)
- cs.Write(Plaintext, 0, Plaintext.Length)
- cs.FlushFinalBlock()
- Dim b(ms.Length - 1) As Byte
- EncryptedText = Convert.ToBase64String(ms.ToArray)
- ms.Close()
- cs.Close()
- End Using
- aes.Clear()
- Return EncryptedText
- End Function
- Public Function Decrypt(ByVal TextToDecrypt As String, ByVal Passphrase As String, ByVal Base64IV As String) As String
- Dim aes As New AesManaged
- aes.Key = (New SHA256Managed).ComputeHash(Encoding.Unicode.GetBytes(Passphrase))
- aes.IV = Convert.FromBase64String(Base64IV)
- Dim EncryptedText() As Byte = Convert.FromBase64String(TextToDecrypt)
- Dim Plaintext As String = ""
- Using ms As New System.IO.MemoryStream(EncryptedText)
- Dim dec As System.Security.Cryptography.ICryptoTransform = aes.CreateDecryptor
- Dim cs As New System.Security.Cryptography.CryptoStream(ms, dec, Security.Cryptography.CryptoStreamMode.Read)
- Dim sr As New System.IO.StreamReader(cs, System.Text.Encoding.Unicode)
- Plaintext = sr.ReadToEnd
- cs.Close()
- End Using
- aes.Clear()
- Return Plaintext
- End Function
- Public Sub test()
- Dim iv As String = ""
- Dim secret1 As String = Encrypt("ABCD", "secret", iv)
- Dim secret2 As String = Encrypt("EFGH", "secret", iv)
- Dim plain As String = Decrypt(secret1, "secret", iv) & Decrypt(secret2, "secret", iv)
- If plain <> "ABCDEFGH" Then MsgBox("oops")
- End Sub
- End Class
-
-
Hi, bei mir funktioniert das Entschlüsseln nicht. Ich mache das so:
Aber es kommt immer die Fehlermeldung:
"Der angegenebe Initialisierungsvektor (IV) stimmt nicht mit der Blockgröße für diesen Algorithmus überein."Skybird schrieb:
Das sind ja Ubisoftmethoden hier !
-
-
Warum werde ich aus deinen Beiträgen oft nicht wirklich schlau? Ein Stoß in die richtige Richtung nützt wenig, wenn man den Weg nicht kennt.
Skybird schrieb:
Das sind ja Ubisoftmethoden hier !
-
-
-
-
-
LG
Merio -
-
-
-
Ich debugge nach jedem mal, wenn ich den Code ändere... das Programm wird nicht sichtbar und ich bekomme nur eine Meldung, dass vs-host nichtmehr geht, wenn ich den Code wieder aus Form_Load nehme, geht alles wieder.. soll ich mal mein ganzes Form_Load Ereignis schreiben? Vielleicht stimmt ja daran etwas nicht..LG
Merio -
-
Jetzt habe ich einen Fehler:
Spoiler anzeigen Der angegebene Initialisierungsvektor (IV) stimmt nicht mit der Blockgröße für diesen Algorithmus überein.
Ich habs auf nen Button gemacht, dann bringt er den Fehler..LG
Merio -
-
VB.NET-Quellcode
- Public Function Decrypt(ByVal TextToDecrypt As String, ByVal Passphrase As String, ByVal Base64IV As String) As String
- Dim aes As New AesManaged
- aes.Key = (New SHA256Managed).ComputeHash(Encoding.Unicode.GetBytes(Passphrase))
- aes.IV = Convert.FromBase64String(Base64IV)
- Dim EncryptedText() As Byte = Convert.FromBase64String(TextToDecrypt)
- Dim Plaintext As String = ""
- Using ms As New System.IO.MemoryStream(EncryptedText)
- Dim dec As System.Security.Cryptography.ICryptoTransform = aes.CreateDecryptor
- Dim cs As New System.Security.Cryptography.CryptoStream(ms, dec, Security.Cryptography.CryptoStreamMode.Read)
- Dim sr As New System.IO.StreamReader(cs, System.Text.Encoding.Unicode)
- Plaintext = sr.ReadToEnd
- cs.Close()
- End Using
- aes.Clear()
- Return Plaintext
- End Function
Zeile 4LG
Merio -
-
Ähnliche Themen
-
SeySey - - Sonstige Problemstellungen
-
Threading zur Speed Optimierung
Psike2k11 - - Sonstige Problemstellungen -
oliver14800 - - Sonstige Problemstellungen