vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: Knight
Datum: 11.10.06 15:19

Hi, also ich habe einen code gefunden (http://support.microsoft.com/kb/301070/de) um dateien zu verschlüsseln. was muss ich ändern, damit auch umlaute gelesen werden?
Z.b. kann ich damit keine bilder oder so verschlüsseln(entschlüsseln).
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: SystemX
Datum: 11.10.06 15:23

"The Page you requested is not available"
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: Knight
Datum: 11.10.06 15:25

bei mir gehtse
denk dadrann das du die mit dem ie öffnen musst da sonst alles falsch dargestellt is
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: ModeratorDaveS (Moderator)
Datum: 11.10.06 15:26

Der Code an sich liest und schreibt binär und hat keine Probleme mit Umlaut, nur am Ende wird das mit StreamReader/Writer gelesen und geschrieben und bei denen brauchst du ein System.Text.Encoding.Default als Parameter.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: ModeratorDaveS (Moderator)
Datum: 11.10.06 15:27

Es gibt im FW 2.0 übrigens bessere Methoden als ZeroMemory für "Sicherheit".

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: SystemX
Datum: 11.10.06 15:29

Stimmt, wenn ich das /de dahinter weglasse gehts
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: Knight
Datum: 11.10.06 15:36

du meinst so?
[CODE] Dim fsDecrypted As New StreamWriter(sOutputFilename, False, System.Text.Encoding.Default)[/CODE]
da passiert nix...
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: viperbone
Datum: 11.10.06 15:54

Was denn für bessere Methoden?

fg viperbone

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: ModeratorDaveS (Moderator)
Datum: 11.10.06 16:55

Bei STreamReader und StreamWriter

        Dim fsDecrypted As New StreamWriter(sOutputFilename, False, _
          System.Text.Encoding.Default)
        fsDecrypted.Write(New StreamReader(cryptostreamDecr, _
        System.Text.Encoding.Default).ReadToEnd)
Dieser Code ist übrigens Käse...

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: ModeratorDaveS (Moderator)
Datum: 11.10.06 16:56

SecureString

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: Knight
Datum: 11.10.06 17:02

jez gehts danke
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: Knight
Datum: 29.10.06 14:39

so da ich nun problemlos dateien verschlüsseln kann: wie mach ich das nun das ich ordner verschlüsseln kann? also ich kann zwar jede datei einzeln verschlüsseln, aber den inhalt kann man dann ja immer noch sehen. kann man vielleicht den code umschreiben, das das auch mit ordnern geht? oder den ordner in eine rar datei mit passwort packt? danke schonmal
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: MeikMiller
Datum: 29.10.06 18:34

Es gibt auch die andere Methoden die das Ermöglichen.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: MeikMiller
Datum: 29.10.06 18:43

ich kenne Methode die ermöglichen Verschießen Dateien, Ordnern, RichTextBox-Inhalt, TextBox-Inhalt, aber hat eine aber fehlerhaft mit dateien unter 8bit. Wenn jemand Interessiert kann ich auch posten (hat lange Classe)...
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: Knight
Datum: 29.10.06 19:49

ja ich denke mich.. aber was ist verschießen? oder was meinste damit? und "aber hat eine aber fehlerhaft " ? könntest du das nochmal deutlich schreiben? danke
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: MeikMiller
Datum: 29.10.06 19:59

Ja mit diese Methode kannst du die Daten (Ordnern, Dateien) verschlüsseln. Wenn die Daten kleinere als 8 bit dann Methode nicht funktioniert (Daten gehen verloren).

8bit= 8 zeichen.

mfgMeik MillerMein beste Code:If then

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: Knight
Datum: 29.10.06 20:07

aso ja ok schreib mal den code nur für die ordner, bitte
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: MeikMiller
Datum: 29.10.06 20:10

Bitte schon:
Weil die Classe ist zu lang teile ich dieses:
Teil1:
Imports System.IO
Imports System.Text
Imports System.Security.Cryptography
Imports System.Runtime.InteropServices
Public Class clsDES : Inherits ApplicationException
    Private mKey As String
    Private Vector() As Byte = {&H12, &H44, &H16, &HEE, &H88, &H15, &HDD, &H41}
    Private TheKey(7) As Byte
    Private objDES As New DESCryptoServiceProvider
    Public Property Key() As String
        Get
            Return mKey
        End Get
        Set(ByVal strKey As String)
            Dim arrKeyBuffer(32767) As Byte
            Dim AscEncod As New ASCIIEncoding
            Dim i As Integer = 0
            Try
                mKey = strKey
                AscEncod.GetBytes(strKey, i, strKey.Length, arrKeyBuffer, i)
            Catch ex As Exception
                Throw New ApplicationException("Key Conversion Error.")
            End Try
            Try
                Dim hashSha As New SHA1CryptoServiceProvider
                Dim arrHash() As Byte = hashSha.ComputeHash(arrKeyBuffer)
                For i = 0 To 7
                    TheKey(i) = arrHash(i)
                Next i
            Catch ex As Exception
                Throw New ApplicationException("Hashing Key Error.")
            End Try
        End Set
    End Property

mfgMeik MillerMein beste Code:If then

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: MeikMiller
Datum: 29.10.06 20:12

Public Sub FolderEncrypt(ByVal InitialPath As String, ByVal Recursion As _
  Boolean, ByVal DeleteSourceFile As Boolean)
        Dim x As Long
        If Recursion = True Then
            FillRecursiveArray(InitialPath)
        Else
            FillNonRecursiveArray(InitialPath)
        End If
        For x = 1 To arrFiles.Length - 1 Step 1
            FileEncrypt(arrFiles(CInt(x)), arrFiles(CInt(x)) & ".CRP", True)
        Next
        Try
            If DeleteSourceFile = True Then
                For x = 1 To arrFiles.Length - 1 Step 1
                    System.IO.File.Delete(arrFiles(CInt(x)))
                Next
            End If
        Catch
            Throw New ApplicationException("Error, can't delete uncrypted" & _
              "files.")
        End Try
    End Sub
    Public Sub FolderDecrypt(ByVal InitialPath As String, ByVal Recursion As _
      Boolean, ByVal DeleteSourceFile As Boolean)
        Dim x As Long
        If Recursion = True Then
            FillRecursiveArray(InitialPath)
        Else
            FillNonRecursiveArray(InitialPath)
        End If
        For x = 1 To arrFiles.Length - 1 Step 1
            FileDecrypt(arrFiles(CInt(x)), Microsoft.VisualBasic.Left(arrFiles( _
              CInt(x)), arrFiles(CInt(x)).Length - 3), True)
        Next
        Try
            If DeleteSourceFile = True Then
                For x = 1 To arrFiles.Length - 1 Step 1
                    System.IO.File.Delete(arrFiles(CInt(x)))
                Next
            End If
        Catch
            Throw New ApplicationException("Error, can't delete crypted files.")
        End Try
    End Sub

mfgMeik MillerMein beste Code:If then

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: MeikMiller
Datum: 29.10.06 20:13

 Public Sub FileEncrypt(ByVal inName As String, ByVal outName As String, ByVal _
   DeleteSourceFile As Boolean)
 
        Dim bufPacket(4096) As Byte    'Create packet separator buffer (4096 
        ' Byte / Packet)
        Dim totalBytesWritten As Long = 8  'Written Bytes Cmptr
        Dim packageSize As Integer    'Set number of byte to be write at same 
        ' time
        Try
            Dim fIn As New FileStream(inName, FileMode.Open, FileAccess.Read)
            Dim fOut As New FileStream(outName, _
            FileMode.OpenOrCreate, FileAccess.Write)
            Try
                fOut.SetLength(0)
                Dim totalFileLength As Long = fIn.Length    'Set Source File 
                ' Size
                Dim crStream As New CryptoStream(fOut, _
                  objDES.CreateEncryptor(TheKey, Vector), _
                  CryptoStreamMode.Write)
                While totalBytesWritten < totalFileLength
                    packageSize = fIn.Read(bufPacket, 0, 4096)
                    crStream.Write(bufPacket, 0, packageSize)
                    totalBytesWritten = Convert.ToInt32(totalBytesWritten + _
                      packageSize / objDES.BlockSize * objDES.BlockSize)
                End While
                crStream.Close()
                fIn.Close()
                fOut.Close()
                If DeleteSourceFile = True Then
                    System.IO.File.Delete(inName)
                End If
            Catch ex As Exception
                Throw New ApplicationException(ex.Message)
                fIn.Close()
                fOut.Close()
            End Try
        Catch ex As Exception
            Throw New ApplicationException("Input and/or Output File are" & _
              "invalid.")
        End Try
    End Sub
    Public Sub FileDecrypt(ByVal inName As String, ByVal outName As String, _
      ByVal DeleteSourceFile As Boolean)
        Dim bufPacket(4096) As Byte    'Create packet separator buffer (4096 
        ' Byte / Packet)
        Dim totalBytesWritten As Long = 8  'Written Bytes Cmptr
        Dim packageSize As Integer    'Set number of byte to be write at same 
        ' time
        Try
            Dim fIn As New FileStream(inName, FileMode.Open, FileAccess.Read)
            Dim fOut As New FileStream(outName, _
            FileMode.OpenOrCreate, FileAccess.Write)
            Try
                fOut.SetLength(0)
                Dim totalFileLength As Long = fIn.Length    'Input File Size
                Dim crStream As New CryptoStream(fOut, _
                  objDES.CreateDecryptor(TheKey, Vector), _
                  CryptoStreamMode.Write)
                While totalBytesWritten < totalFileLength
                    packageSize = fIn.Read(bufPacket, 0, 4096)
                    crStream.Write(bufPacket, 0, packageSize)
                    totalBytesWritten = Convert.ToInt32(totalBytesWritten + _
                      packageSize / objDES.BlockSize * objDES.BlockSize)
                End While
                fIn.Close()
                fOut.Close()
                If DeleteSourceFile = True Then
                    System.IO.File.Delete(inName)
                End If
            Catch ex As Exception
                Throw New ApplicationException(ex.Message)
                fIn.Close()
                fOut.Close()
            End Try
        Catch ex As Exception
            Throw New ApplicationException("Input and/or Output File are" & _
              "invalid.")
        End Try
    End Sub

mfgMeik MillerMein beste Code:If then

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: MeikMiller
Datum: 29.10.06 20:14

 Public Function StringEncrypt(ByVal strSource As String) As String
        Dim memStream As New MemoryStream  'Create memory stream to hold 
        ' encrypted string
        Try
            Dim bufSource() As Byte = Encoding.UTF8.GetBytes(strSource)
            Dim crStream As New CryptoStream(memStream, objDES.CreateEncryptor( _
              TheKey, Vector), CryptoStreamMode.Write)
            crStream.Write(bufSource, 0, bufSource.Length)
            crStream.FlushFinalBlock()
            Return Convert.ToBase64String(memStream.ToArray())
        Catch ex As Exception
            Throw New ApplicationException("String encryption Error.")
        End Try
    End Function
    Public Function StringDecrypt(ByVal strSource As String) As String
        Dim memStream As New MemoryStream  'Create memory stream to hold 
        ' decypted string
        Dim objDecode As System.Text.Encoding = System.Text.Encoding.UTF8 ' 
        ' Memory Decode Object
        Try
            Dim bufSource() As Byte = Convert.FromBase64String(strSource)
            Dim crStream As New CryptoStream(memStream, objDES.CreateDecryptor( _
              TheKey, Vector), CryptoStreamMode.Write)
            crStream.Write(bufSource, 0, bufSource.Length)
            crStream.FlushFinalBlock()
            Return objDecode.GetString(memStream.ToArray())
        Catch ex As Exception
            Throw New ApplicationException("String decryption Error.")
        End Try
    End Function
Private arrFiles() As String
    Private Function GetFileContents(ByVal FullPath As String) As String
        Dim strContents As String
        Dim objReader As StreamReader
        Try
            objReader = New StreamReader(FullPath)
            strContents = objReader.ReadToEnd()
            objReader.Close()
            Return strContents
        Catch Ex As Exception
            Throw New ApplicationException("Read Input File Error.")
        End Try
    End Function
    Private Function SaveTextToFile(ByVal strData As String, ByVal FullPath As _
      String) As Boolean
        Dim bAns As Boolean = False
        Dim objReader As StreamWriter
        Try
            objReader = New StreamWriter(FullPath)
            objReader.Write(strData)
            objReader.Close()
            bAns = True
        Catch Ex As Exception
            Throw New ApplicationException("Write Ouput File Error.")
        End Try
        Return bAns
    End Function

mfgMeik MillerMein beste Code:If then

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: MeikMiller
Datum: 29.10.06 20:16

Private Function FillRecursiveArray(ByVal strSourcePath As String) As Long
        Dim Cmptr As Integer = 0 'Sub-Folder Cmptr
        Dim lstStringFolders As New ArrayList 'Folder Array
        Dim strSubFolders As String() 'Sub-Folder Array
        Dim lstSortedFolders As New ArrayList 'Sort Folder and Sub-Folder
        Dim bufFolder As String 'Folder Name Buffer
        Dim bufFile As String 'File Name Buffer
        Try
            lstStringFolders.Add(strSourcePath)
            ReDim arrFiles(0)
            Do Until Cmptr = lstStringFolders.Count
                strSubFolders = System.IO.Directory.GetDirectories(CStr( _
                  lstStringFolders.Item(Cmptr)))
                lstStringFolders.AddRange(strSubFolders)
                Cmptr += 1
            Loop
        Catch ex As Exception
            Throw New ApplicationException("Folder Recursion Error.")
        End Try
        Try
            lstStringFolders.Sort()
            For Each bufFolder In lstStringFolders
                lstSortedFolders.Add(bufFolder)
            Next
        Catch ex As Exception
            Throw New ApplicationException("Folder Sort Error.")
        End Try
        Try
            For Each bufFolder In lstSortedFolders
                For Each bufFile In Directory.GetFiles(bufFolder)
                    ReDim Preserve arrFiles(UBound(arrFiles) + 1)
                    arrFiles(UBound(arrFiles)) = bufFile
                Next
            Next
        Catch ex As Exception
            Throw New ApplicationException("File Recursion Error.")
        End Try
        Return arrFiles.Length
    End Function
    Private Function FillNonRecursiveArray(ByVal strSourcePath As String) As _
      Long
        Dim bufFile As String 'File Name Buffer
        ReDim arrFiles(0) 'File Path Array (Only in the initial path)
        Try
            For Each bufFile In Directory.GetFiles(strSourcePath)
                ReDim Preserve arrFiles(UBound(arrFiles) + 1)
                arrFiles(UBound(arrFiles)) = bufFile
            Next
        Catch ex As Exception
            Throw New ApplicationException("Error, can't list Initial Path" & _
              "File")
        End Try
        Return arrFiles.Length
    End Function
Das ist die ganze Coden (von Classe)

mfgMeik MillerMein beste Code:If then

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: MeikMiller
Datum: 29.10.06 20:20

Und jetzt Beispiel (für Ordner):
Private Sub btnOrdnerEncryption_Click(ByVal sender As System.Object, ByVal e As _
  System.EventArgs) Handles btnOrdnerEncryption.Click
 
        Dim fDlgBrowser As New Windows.Forms.FolderBrowserDialog
        Dim InitialPath As String = fDlgBrowser.SelectedPath
        Try
            With fDlgBrowser
                fDlgBrowser.ShowNewFolderButton = False
                fDlgBrowser.SelectedPath = InitialPath
                If fDlgBrowser.ShowDialog = Windows.Forms.DialogResult.OK Then
                    InitialPath = fDlgBrowser.SelectedPath
                End If
            End With
            objCryptDES.Key = Me.UscCode.KennwortDialog
            objCryptDES.FolderEncrypt(InitialPath, True, True)
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical)
        End Try
    End Sub
    Private Sub btnOrdnerDecryption_Click(ByVal sender As System.Object, ByVal _
      e As System.EventArgs) Handles btnOrdnerDecryption.Click
        Dim fDlgBrowser As New Windows.Forms.FolderBrowserDialog
        Dim InitialPath As String = fDlgBrowser.SelectedPath
        Try
            With fDlgBrowser
                fDlgBrowser.ShowNewFolderButton = False
                fDlgBrowser.SelectedPath = InitialPath
                If fDlgBrowser.ShowDialog = Windows.Forms.DialogResult.OK Then
                    InitialPath = fDlgBrowser.SelectedPath
                End If
            End With
            objCryptDES.Key = Me.UscCode.KennwortDialog
            objCryptDES.FolderDecrypt(InitialPath, True, True)
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical)
        End Try
    End Sub
Ich habe ganze Classe gepostet.. wer weist ob jemand noch braucht.
Wenn du möchtest Beispiel für Dateien oden String- Verschlüsselung dann ich kann noch posten...
Die Beispielen werden von eine Form ausgeführt (selbstverständig).

Viele Spaß.

mfgMeik MillerMein beste Code:If then

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: MeikMiller
Datum: 29.10.06 20:28

Fast vergessen:
   Dim objCryptDES As New clsDES
gehört zu den Beispiel.

mfgMeik MillerMein beste Code:If then

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: Knight
Datum: 30.10.06 16:49

und was genau macht der code? weden da nur alle dateien aus einem ordner verschlüsselt? oder wird der ordner so wie z.b. eine rar datei angezeigt, also so wie ich es wollte nur halt ohne die endung rar?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: MeikMiller
Datum: 30.10.06 17:14

alle dateien aus einem ordner verschlüsselt.

mfgMeik MillerMein beste Code:If then

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten verschlüsseln - code ändern! (Wichtig!) 
Autor: Knight
Datum: 30.10.06 18:14

ja das hatte ich ja auch schon... ich wollte ja das man den ganzen ordner verschlüsselt. also alle dateien in einer zip datei zusammen fassen und die mit passwort schützen. ginge das vielleicht irgendwie?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel