Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1549 | Anzahl registrierter User: 1833 | Besucher online: 1263
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Dateientschlüsselung mit Rijndael


Autor: Tim Hartwig
Sprache: VB.NET
Bewertung:
6.54 (3 votes)
Anzahl der Aufrufe: 6830
  
Kick it on dotnet-kicks.de  

Beschreibung:

Mit dieser Funktion kann man eine Datei mit dem Rijndael Algorithmus entschlüsseln

Abgelegt unter: Entschlüsselung, Rijndael, AES.



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Imports System.Security.Cryptography
Imports System.IO
Imports System.Text

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
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

hhh schrieb am:  02.02.2010 19:33:24

Wenn ich ein Passwort > 8 Zeichen verwende, funktioniert die Verschlüsselung nicht. Gibt's da eine Lösung?
Danke


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.