vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2019
 
zurück
Rubrik: Entwicklungsumgebung · VB-IDE allgemein   |   VB-Versionen: VB4, VB5, VB623.07.03
Passwort im Quellcode verschlüsseln

Dieser Tipp stellt eine Funktion vor, mit der sich ein VB-String verschlüsselt im Quellcode speichern lässt.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  24.474 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Eine altbekannte Weisheit sagt: Verwende niemals Passwörter im Klartext. Und dann schon garnicht, wenn diese einem String oder einer Funktion direkt im Quellcode - und zwar im Klartext - zugewiesen werden:

' FALSCH!
Dim sPwd As String
sPwd = "geheim"

Warum das nicht gut ist?
Na dann schauen Sie sich einmal die kompilierte EXE in einem Text-Editor an. Sie werden schnell feststellen, dass hier das angebliche Passwort im Klartext zu finden ist!

Aus diesem Grund möchten wir Ihnen heute eine kleine aber feine Funktion vorstellen, die aus einem Byte-Array mit einzelnen Ascii-Zeichen den entsprechenden String zusammensetzt und diesen dann als Rückgabewert an die aufrufende Prozedur zurückgibt.

Public Function AscToString( _
  ParamArray nAsc() As Variant) As String 
 
  Dim i As Integer 
  Dim sString As String 
 
  For i = 0 To UBound(nAsc) 
    sString = sString & Chr$(nAsc(i)) 
  Next i 
  AscToString = sString 
End Function

Die Funktion erwartet den String zerlegt in seine einzelnen Ascii-Werte.

Beispiel:

Dim sPwd As String
sPwd = AscToString(103, 101, 104, 101, 105, 109)

So: Und damit Sie jetzt nicht jeden String mühselig in seine Ascii-Werte zerlegen müssen, erstellen Sie sich ein eigenes kleines Hilfsprogramm, das genau diese Arbeit für Sie erledigt:

Das Programm besteht aus einer Form, zwei TextBoxen und einem CommandButton:

Private Sub Command1_Click()
  Dim i As Integer
 
  With Text2
    .Text = ""
    For i = 1 To Len(Text1.Text)
      .Text = .Text & CStr(Asc(Mid$(Text1.Text, i, 1)))
      If i < Len(Text1.Text) Then .Text = .Text & ", "    
    Next i
  End With
End Sub

Beim Klick auf den CommandButton wird der Text aus "Text1" in seine Ascii-Zeichenwerte zerlegt und in "Text2" ausgegeben. Diese "Wertekette" können Sie jetzt als Parameter für die oben genannte "AscToString"-Funktion verwenden (am besten per Copy & Paste einfügen).
 

Dieser Tipp wurde bereits 24.474 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2019 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