Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBS Textverschluesselung

Frage Entwicklung VB for Applications

Mitglied: Butterblume

Butterblume (Level 1) - Jetzt verbinden

06.06.2008, aktualisiert 11.06.2008, 3755 Aufrufe, 4 Kommentare

VB-Script.
Symetrische Verschlüsselung mit Xor.
Eingabe des Ziel- und Quelltextes mit einer Eingabebox.
Eingabe des Schlüssels mit einer Eingabebox.

Hallo Zusammen,
ich muss ein Programm schreiben mit dem ich mit Hilfe Xor einem 8 Bit ZeichensatzDateien einfach Ver- und Entschlüsseln kann.
Ziel- und Quelladresse muss eingegeben werden.
Eingabe des Schlüssel mit einer Eingabebox.

Da komme ich nicht wirklich weiter. Da ist was ich habe, natürlich lauft das nöd. Ist auch nicht fertig.
Kann mir da jemand helfen??

Schon Danke voraus.

01.
Dim Quelldatei, Zieldatei, Schluessel 
02.
Dim fso, File, sText, ts 
03.
Const ForReading = 1 
04.
Const ForWriting = 2 
05.
Dim Gelesenes_Zeichen 
06.
 
07.
Quelldatei = InputBox ("Geben sie die Quelldatei ein") 
08.
MsgBox ("Ihre Eingabe: " &Quelldatei) 
09.
 
10.
Zieldatei = InputBox ("Geben sie die Zieldatei ein") 
11.
MsgBox ("Ihre Eingabe: " &Zieldatei) 
12.
 
13.
Schluessel = InputBox ("Geben sie den Schluessel ein") 
14.
MsgBox ("Ihre Eingabe: " &QSchluessel) 
15.
 
16.
Set fso = CreateObject("Scripting.FileSystemObject") 
17.
set File = fso.OpenTextFile("Quelldatei", ForReading, false) 
18.
sText = File.ReadAll 
19.
Set fso = nothing 
20.
 
21.
Set fso = CreateObject("Scripting.FileSystemObject") 
22.
Set ts = fso.OpenTextFile("Zieldatei", ForWriting, True) 
23.
 
24.
Do While ***solange noch nicht alle zeichen eingelesen sind 
25.
   ***ein zeichen aus der datei lesen 
26.
   Gelesenes_Zeichen := Zeichen Xor schreiben 
27.
 
28.
mit strSchreiben = Chr (CByte ( AscB (strLesen) ) Xor CByte( AscB(strSchluessel) ) ) 
29.
 
30.
   Gelesenes_Zeichen in Zieldatei schreiben 
31.
Loop
Mitglied: bastla
06.06.2008 um 11:30 Uhr
Hallo Butterblume!

Anstelle von "Do / While" biete sich ein "For / Next" an, da Du ohnehin einen Zähler (Index) für die einzelnen Zeichen des Textes brauchst. Wenn der Schlüssel mehr als nur ein Zeichen umfasst, wirst Du auch diesen zeichenweise zerlegen müssen - in diesem Zusammenhang jeweils nützliche Funktionen: Len() und Mid() oder LenB() und MidB()

Zum Schreiben des Ergebnisses: Analog zum Einlesen könntest Du zunächst alle einzelnen Zeichen in einem String sammeln (zur Verkettung "&" verwenden) und dann den gesamten String schreiben.

Wenn Du es tasächlich zeichenweise machen willst (sollst), einfach "Write" verwenden.

Versuch es einmal mit diesen Anregungen, und poste bei Problemen einfach den nächsten Zwischenstand Deines Scripts.

Grüße
bastla
Bitte warten ..
Mitglied: Logan000
06.06.2008 um 13:10 Uhr
Die Zeile
01.
set File = fso.OpenTextFile("Quelldatei", ForReading, false) 
wird so nicht funktionieren. Du musst die Tütelchen um die Variable Quelldatei weglassen.
So wirds gehen.
01.
set File = fso.OpenTextFile(Quelldatei, ForReading, false) 
Bei Zieldatei analog.
Bitte warten ..
Mitglied: Butterblume
11.06.2008 um 14:18 Uhr
@bastla

Hallo bastla
Das funktioniert super. Ich habe len() und mid() gebraucht, und eine For/Next Anweisung.
Habe aber sehr lange gebraucht. Jetzt funktioniert alles super.
Aber ich möchte nun mein Programm perfektionieren. Wenn ich kein Pfad eingebe dann wird der Code weiterausgeführt und am Schluss kommt ein Error.

Wie kann ich den Pfad überprüfen und Runtime abbrechen? Falls kein richtiges Pfad eingegeben wurde, bzw. auf Cancel gedrückt wurde.

@Logan000
Danke, tatsächlich mit " " funktionierts nicht und ohne schon. Danke.
Bitte warten ..
Mitglied: Logan000
11.06.2008 um 16:26 Uhr
Hi

Abbruch könnte so aussehen:

01.
Quelldatei = InputBox ("Geben sie die Quelldatei ein")  
02.
If Quelldatei="" Then wscript.quit 
03.
Set fso = CreateObject("Scripting.FileSystemObject")  
04.
If Not fso.FileExists(Quelldatei) Then wscript.quit 
05.
MsgBox ("Ihre Eingabe: " &Quelldatei) 
Naja.
Evtl. noch ne Meldung einbauen warum nix mehr passiert.

Viel Erfolg.
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Windows 10
Vbs getobject auf per Task gestartete Anwendung (4)

Frage von schauan zum Thema Windows 10 ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (4)

Frage von joni2000de zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (20)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (16)

Frage von smartino zum Thema Mac OS X ...

Hardware
gelöst PCI-Express-Adapterfrage (14)

Frage von DerWoWusste zum Thema Hardware ...