RijndaelAlgor_ver-entschlüsseln
Ich hoffe du kommst klar mit dem Beispiel.
4711 ist der Schlüssel den du frei wählen kannst.
Imports System.Security.Cryptography
Imports System.IO
Imports System.Text
Public Class Form1
Private Sub btnCrypt_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btnCrypt.Click
EncryptFile("c:\temp\t.txt", "c:\temp\t_crypt.vivax", "4711")
System.IO.File.Delete("c:\temp\t.txt")
End Sub
Private Sub btnDecrypt_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btnDecrypt.Click
DecryptFile("c:\temp\t_crypt.vivax", "c:\temp\t.txt", "4711")
System.IO.File.Delete("c:\temp\t_crypt.vivax")
End Sub
Public Function DecryptFile(ByVal sSource As String, ByVal sTarget As _
String, ByVal sPassword As String, Optional ByVal BufferSize As Long = _
4096) As Boolean
Try
Dim sKey As Byte() = (New UnicodeEncoding).GetBytes( _
sPassword.PadRight(8, "*"))
Dim OldFileStream As New FileStream(sSource, FileMode.Open)
Dim NewFileStream As New FileStream(sTarget, FileMode.Create)
Dim RijndaelManaged As New RijndaelManaged
Dim CryptoStream As New CryptoStream(OldFileStream, _
RijndaelManaged.CreateDecryptor(sKey, sKey), _
CryptoStreamMode.Read)
Dim Data(BufferSize) As Byte
Dim Buffer As Long
Dim BufferCount As Long
Dim FileLen As Long = OldFileStream.Length
Do
If BufferCount >= FileLen - BufferSize Then
ReDim Data(FileLen - BufferCount)
Buffer = CryptoStream.Read(Data, 0, FileLen - BufferCount)
NewFileStream.Write(Data, 0, Buffer)
Exit Do
End If
Buffer = CryptoStream.Read(Data, 0, BufferSize)
NewFileStream.Write(Data, 0, BufferSize)
BufferCount += Buffer
Loop
NewFileStream.Close()
CryptoStream.Close()
OldFileStream.Close()
Catch
Return False
End Try
Return True
End Function
Public Function EncryptFile(ByVal sSource As String, ByVal sTarget As _
String, ByVal sPassword As String, Optional ByVal BufferSize As Long = _
4096) As Boolean
Try
Dim sKey As Byte() = (New UnicodeEncoding).GetBytes( _
sPassword.PadRight(8, "*"))
Dim OldFileStream As New FileStream(sSource, FileMode.Open)
Dim NewFileStream As New FileStream(sTarget, FileMode.Create)
Dim RijndaelManaged As New RijndaelManaged
Dim CryptoStream As New CryptoStream(NewFileStream, _
RijndaelManaged.CreateEncryptor(sKey, sKey), _
CryptoStreamMode.Write)
Dim Data(BufferSize) As Byte
Dim Buffer As Long
Dim BufferCount As Long
Dim FileLen As Long = OldFileStream.Length
Do
If BufferCount >= FileLen - BufferSize Then
ReDim Data(FileLen - BufferCount)
Buffer = OldFileStream.Read(Data, 0, FileLen - BufferCount)
CryptoStream.Write(Data, 0, Buffer)
Exit Do
End If
Buffer = OldFileStream.Read(Data, 0, BufferSize)
CryptoStream.Write(Data, 0, BufferSize)
BufferCount += Buffer
Loop
OldFileStream.Close()
CryptoStream.Close()
NewFileStream.Close()
Catch
Return False
End Try
Return True
End Function
End Class Gruss
VIVAX
}
}
}
1:0 für Visual Basic.NET
|