![]() |
Tipp 0116
|
Verschlüsseln mit DES und TripleDES
|
 |
|
Autor/Einsender: Datum: |
|
Michael Werner 13.04.2006 |
|
Entwicklungsumgebung: |
|
VB.Net 2003 |
Framework: |
|
1.1 |
|
|
Im Namespace System.Security.Cryptography gibt es mehrere Klassen, die verschiedene Verschlüsselungsalgorithmen implementieren.
So stehen die Algorithmen Rijndael, DES, TripleDES, RC2 und RSA zur Verfügung.
Effektiv wird eine Verschlüsselung erst durch eine Kombination eines symmetrisch und asymmetrischen Verfahrens, wobei meist ein sogenannter
privater Schlüssel (symmetrisches Verschlüsselung) mit einem öffentlichen Schlüssel (asymmetrische Verschlüsselung) zusammenspielen.
|
In diesem Tipp wird verschlüsselt und entschlüsselt, wahlweise mit den Algorithmen DES und TripleDES. Die beiden
Methoden CreateEncryptor und CreateDecryptor der Klasse SymmetricAlgorithm erstellen ein symmetrisches
Verschlüsselungsobjekt mit dem aktuellen Key und Initialisierungsvektor (IV).
|
Hinweis:
Wenn Sie diese verschlüsselte Zeichenfolge in Ihrer Anwendung verwenden möchten, müssen Sie sich den generierten Schlüssel und IV notieren,
da Sie diese für die Entschlüsselung eingeben müssen. Wenn Sie den Schlüssel und IV verlieren, wird keine Wiederherstellung der
Verbindungszeichenfolge mehr möglich sein.
|
|
|
Imports System.Security.Cryptography
Imports System.Text
Imports System.IO
Private Function EncryptString(ByVal Value As String) As String
Dim ct As ICryptoTransform
Dim ms As MemoryStream
Dim cs As CryptoStream
Dim byt() As Byte
Try
ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV)
byt = Encoding.UTF8.GetBytes(Value)
ms = New MemoryStream
cs = New CryptoStream(ms, ct, CryptoStreamMode.Write)
cs.Write(byt, 0, byt.Length)
cs.FlushFinalBlock()
cs.Close()
Catch
MessageBox.Show( _
"Schlüssel und IV müssen zunächst generiert werden!", _
"Abbruch")
Exit Function
End Try
Return Convert.ToBase64String(ms.ToArray())
End Function
Private Function DecryptString(ByVal Value As String) As String
Dim ct As ICryptoTransform
Dim ms As MemoryStream
Dim cs As CryptoStream
Dim byt() As Byte
ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV)
byt = Convert.FromBase64String(Value)
ms = New MemoryStream
cs = New CryptoStream(ms, ct, CryptoStreamMode.Write)
cs.Write(byt, 0, byt.Length)
cs.FlushFinalBlock()
cs.Close()
Return Encoding.UTF8.GetString(ms.ToArray())
End Function
Private Function SetEnc() As SymmetricAlgorithm
If optDES.Checked Then
Return New DESCryptoServiceProvider
Else
If optTripleDES.Checked Then
Return New TripleDESCryptoServiceProvider
End If
End If
End Function
|
|
|
|
|
Windows-Version |
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
|
Download (9,6
kB)
|
Downloads bisher: [ 798 ]
|
|
|