130834
29.11.2016, aktualisiert um 23:28:31 Uhr
2968
18
0
CMD Verschlüsslung ( Batch )
Seid gegrüsst Krieger, Profis und Götter, Älteste und Schamanen, Weise und Einsiedler, Monster und Bürofacharbeiter.
Wie ihre im Titel unschwer erkennt, betrifft dies nur diese, welche CMD-Sprache mächtig sind.
Also: Ich habe vor langer Zeit im allbekannten Internet, tatsächlich 2 Batches ( Ist das die korrekte Mehrzahl - ? ) gefunden,
welche Strings Ver- und wieder Entschlüsseln, indem sie aus 1 Zeichen 6 machen.
Das klappt ganz gut. Leider werden dabei Großbuchstaben ignoriert,
das Script könnte schneller sein auch wenn man das nicht merkt,
und wenn ein Zeichen darin enthalten ist, welches das Skript nicht erkennt,
wird nichts unternommen und der Output geht flöten.
Die beiden Skripte sehen wie folgt aus:
( Ich habe sie etwas verändert, um herauszufinden, ob sie denn nun auch mit Großbuchstaben kompatibel wären, sie sind es nicht.
Die Original-Files stoppen nachdem set von / )
[ Siehe Ende des Textes, da sie ungemein Platz verbrauchen und mir zu Fettleibig sind um sie Hier reinzuquetschen, sonst vergeht euch noch die Lust am lesen meines exquisiten Problems ]
Erklärung:
Die Skripte legen für jedes definierte Zeichen Variablen an.
Danach nehmen sie jedes Zeichen einzeln und wandeln es in dessen zugewiesen Wert um.
Das umgewandelte Zeichen wird dann in einer End-Variable gespeichert.
Das Skript geht zurück und tut dies mit allen Zeichen.
Nachdem alle Zeichen verarbeitet wurden, wird die End-Variable ausgegeben.
Meine Unbehagen sind Folgende:
Meine spärlichen Ideen dazu liegen hier:
Ich hab dann mal etwas mit Großbuchstaben rumprobiert und das hier bekommen;
Was mir das hier zurück gibt:
Also funktioniert das schon mal nicht.
Für das Erstellen hatte ich noch keine Idee, da man Zufällige Großbuchstaben und Zahlen generieren müsste.
Für das Auslesen einer solchen Ziffern-Folge;
Würde ich denken das man irgendwo 1 Datei erstellt welche zuerst das Zeichen und dahinter den Gegenwert enthält,
Welche man dann mit einem FOR Loop und dem 1 sowie 2 Token auslesen könnte.
Ich frage mich ( und euch ) nun,
Unter euch befinden sich Profis welche schon ganz andere Probleme gelöst haben.
Dies ist eine Komplizierte Angelegenheit, vielleicht könnt ihr euch mit der Vorstellung es als Herausforderung zu sehen anfreunden,
vielleicht auch nicht, da ihr weit über diesem Level seit.
Ich hoffe auf eure die Ideen, Vorschläge, Code-Schnipsel oder Sichtweisen.
Einen schönen Abend,
clragon
[ Ende Des Textes erreicht. Ihr betretet nun die COPY-PASTE ZONE. Fühlt euch frei zu nehmen was euer Herz beliebt ]
Verschlüsselung
[modifiziert um Großbuchstaben zu verarbeiten, was nicht funktioniert ]
Entschlüsselung
[modifiziert um Großbuchstaben zu verarbeiten, was nicht funktioniert ]
Ich hoffe die Visuelle Gestaltung meines Schreibens erfreut euer Auge.
EDIT:
Ich habe mir gedacht es wäre nett das hier zu verlinken. Ich habe es benutzt um einige der Gegenwerte zu erstellen.
Wie ihre im Titel unschwer erkennt, betrifft dies nur diese, welche CMD-Sprache mächtig sind.
Also: Ich habe vor langer Zeit im allbekannten Internet, tatsächlich 2 Batches ( Ist das die korrekte Mehrzahl - ? ) gefunden,
welche Strings Ver- und wieder Entschlüsseln, indem sie aus 1 Zeichen 6 machen.
Das klappt ganz gut. Leider werden dabei Großbuchstaben ignoriert,
das Script könnte schneller sein auch wenn man das nicht merkt,
und wenn ein Zeichen darin enthalten ist, welches das Skript nicht erkennt,
wird nichts unternommen und der Output geht flöten.
Die beiden Skripte sehen wie folgt aus:
( Ich habe sie etwas verändert, um herauszufinden, ob sie denn nun auch mit Großbuchstaben kompatibel wären, sie sind es nicht.
Die Original-Files stoppen nachdem set von / )
[ Siehe Ende des Textes, da sie ungemein Platz verbrauchen und mir zu Fettleibig sind um sie Hier reinzuquetschen, sonst vergeht euch noch die Lust am lesen meines exquisiten Problems ]
Erklärung:
Die Skripte legen für jedes definierte Zeichen Variablen an.
Danach nehmen sie jedes Zeichen einzeln und wandeln es in dessen zugewiesen Wert um.
Das umgewandelte Zeichen wird dann in einer End-Variable gespeichert.
Das Skript geht zurück und tut dies mit allen Zeichen.
Nachdem alle Zeichen verarbeitet wurden, wird die End-Variable ausgegeben.
Meine Unbehagen sind Folgende:
- Die Skripte Unterstützen keine nicht-eingespeicherten Zeichen
- Groß und Klein Buchstaben haben den selben Wert
- Das Skript benutzt goto-Loops welche Langsam sind
- ich würde eine Funktion von Auslesen eines vorhandene Sets Zeichen und Gegen-Zeichen sowie eine Erstellung dieser auf jedem neuen PC begrüssen
Meine spärlichen Ideen dazu liegen hier:
Ich hab dann mal etwas mit Großbuchstaben rumprobiert und das hier bekommen;
@echo off
set A=This is A
set a=this is a
echo A: %A%
echo a: %a%
pause>nul
Was mir das hier zurück gibt:
A: this is a
a: this is a
Also funktioniert das schon mal nicht.
Für das Erstellen hatte ich noch keine Idee, da man Zufällige Großbuchstaben und Zahlen generieren müsste.
Für das Auslesen einer solchen Ziffern-Folge;
Würde ich denken das man irgendwo 1 Datei erstellt welche zuerst das Zeichen und dahinter den Gegenwert enthält,
Welche man dann mit einem FOR Loop und dem 1 sowie 2 Token auslesen könnte.
Ich frage mich ( und euch ) nun,
- Wie bewerkstellige ich das funktionierende Umwandeln von Groß- und Kleinbuchstaben,
- Wie umgehe ich die langsamen goto-Schleifen
- und Wie generiere ich solche Ziffern-Ketten und lese diese aus?
Unter euch befinden sich Profis welche schon ganz andere Probleme gelöst haben.
Dies ist eine Komplizierte Angelegenheit, vielleicht könnt ihr euch mit der Vorstellung es als Herausforderung zu sehen anfreunden,
vielleicht auch nicht, da ihr weit über diesem Level seit.
Ich hoffe auf eure die Ideen, Vorschläge, Code-Schnipsel oder Sichtweisen.
Einen schönen Abend,
clragon
[ Ende Des Textes erreicht. Ihr betretet nun die COPY-PASTE ZONE. Fühlt euch frei zu nehmen was euer Herz beliebt ]
Verschlüsselung
[modifiziert um Großbuchstaben zu verarbeiten, was nicht funktioniert ]
@echo off
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
title Encrypt
color a
:mainmenu
set savefile=on
::set Encrypt=Nothing
(set CHAR[a]=UDFM45) & (set CHAR[b]=H21DGF) & (set CHAR[c]=FDH56D) & (set CHAR[d]=FGS546) & (set CHAR[e]=JUK4JH)
(set CHAR[f]=ERG54S) & (set CHAR[g]=T5H4FD) & (set CHAR[h]=RG641G) & (set CHAR[i]=RG4F4D) & (set CHAR[j]=RT56F6)
(set CHAR[k]=VCBC3B) & (set CHAR[l]=F8G9GF) & (set CHAR[m]=FD4CJS) & (set CHAR[n]=G423FG) & (set CHAR[o]=F45GC2)
(set CHAR[p]=TH5DF5) & (set CHAR[q]=CV4F6R) & (set CHAR[r]=XF64TS) & (set CHAR[s]=X78DGT) & (set CHAR[t]=TH74SJ)
(set CHAR[u]=BCX6DF) & (set CHAR[v]=FG65SD) & (set CHAR[w]=4KL45D) & (set CHAR[x]=GFH3F2) & (set CHAR[y]=GH56GF)
(set CHAR[z]=45T1FG) & (set CHAR[1]=D4G23D) & (set CHAR[2]=GB56FG) & (set CHAR[3]=SF45GF) & (set CHAR[4]=P4FF12)
(set CHAR[5]=F6DFG1) & (set CHAR[6]=56FG4G) & (set CHAR[7]=USGFDG) & (set CHAR[8]=FKHFDG) & (set CHAR[9]=IFGJH6)
(set CHAR=87H8G7) & (set CHAR[@]=G25GHF) & (set CHAR[#]=45FGFH) & (set CHAR[$]=75FG45) & (set CHAR[*]=54GDH5)
(set CHAR[(]=45F465) & (set CHAR[.]=HG56FG) & (set CHAR[,]=DF56H4) & (set CHAR[-]=F5JHFH) & (set CHAR[ ]=SGF4HF)
(set CHAR[\]=45GH45) & (set CHAR[/]=56H45G) & (set CHAR[A]=KALIS8) & (set CHAR[B]=SNE3VO) & (set CHAR[C]=JMX5VM)
(set CHAR[D]=B4XDN2) & (set CHAR[E]=82WR2D) & (set CHAR[F]=YFI5XG) & (set CHAR[G]=2J9OAO) & (set CHAR[H]=5WABAV)
(set CHAR[I]=B0JXTW) & (set CHAR[J]=7W55FK) & (set CHAR[K]=TLPCN6) & (set CHAR[L]=CWQDD3) & (set CHAR[M]=FICCZ0)
(set CHAR[N]=6L4WEX) & (set CHAR[O]=2WXPY9) & (set CHAR[P]=P2XXLK) & (set CHAR[Q]=2OTZEZ) & (set CHAR[R]=RPLN40)
(set CHAR[S]=6H8BH1) & (set CHAR[T]=XHJLZJ) & (set CHAR[U]=SHI67B) & (set CHAR[V]=I6E76Q) & (set CHAR[W]=C1P0GX)
(set CHAR[X]=W8MQS1) & (set CHAR[Y]=BHJH14) & (set CHAR[Z]=L0Q85M)
echo Enter a string to encrypt:
set /p Encrypt=
cls
set Encrypt2=%Encrypt%
set "EncryptOut="
:encrypt2
set char=%Encrypt2:~0,1%
set Encrypt2=%Encrypt2:~1%
set EncryptOut=%EncryptOut%!CHAR[%char%]!
if not "%Encrypt2%"=="" goto encrypt2
echo Input string: %Encrypt%
echo.
echo Output string: %EncryptOut%
set string=%EncryptOut%
set temp_str=%string%
set str_len=0
:lengthloop
if defined temp_str (
set temp_str=%temp_str:~1%
set /A str_len += 1
goto lengthloop )
echo.
echo Output string is %str_len% characters long!
if "%savefile%"=="on" echo.%EncryptOut%>>%~d0%~p0encrypted.txt
echo.
pause
cls
goto mainmenu
Entschlüsselung
[modifiziert um Großbuchstaben zu verarbeiten, was nicht funktioniert ]
@echo off
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
title Decrypt
color a
:mainmenu
set savefile=on
::set Decrypt=Nothing
(set CHAR[UDFM45]=a) & (set CHAR[H21DGF]=b) & (set CHAR[FDH56D]=c) & (set CHAR[FGS546]=d) & (set CHAR[JUK4JH]=e)
(set CHAR[ERG54S]=f) & (set CHAR[T5H4FD]=g) & (set CHAR[RG641G]=h) & (set CHAR[RG4F4D]=i) & (set CHAR[RT56F6]=j)
(set CHAR[VCBC3B]=k) & (set CHAR[F8G9GF]=l) & (set CHAR[FD4CJS]=m) & (set CHAR[G423FG]=n) & (set CHAR[F45GC2]=o)
(set CHAR[TH5DF5]=p) & (set CHAR[CV4F6R]=q) & (set CHAR[XF64TS]=r) & (set CHAR[X78DGT]=s) & (set CHAR[TH74SJ]=t)
(set CHAR[BCX6DF]=u) & (set CHAR[FG65SD]=v) & (set CHAR[4KL45D]=w) & (set CHAR[GFH3F2]=x) & (set CHAR[GH56GF]=y)
(set CHAR[45T1FG]=z) & (set CHAR[D4G23D]=1) & (set CHAR[GB56FG]=2) & (set CHAR[SF45GF]=3) & (set CHAR[P4FF12]=4)
(set CHAR[F6DFG1]=5) & (set CHAR[56FG4G]=6) & (set CHAR[USGFDG]=7) & (set CHAR[FKHFDG]=8) & (set CHAR[IFGJH6]=9)
(set CHAR[87H8G7]=0) & (set CHAR[G25GHF]=@) & (set CHAR[45FGFH]=#) & (set CHAR[75FG45]=$) & (set CHAR[54GDH5]=*)
(set CHAR[45F465]=() & (set CHAR[HG56FG]=.) & (set CHAR[DF56H4]=,) & (set CHAR[F5JHFH]=-) & (set CHAR[SGF4HF]= )
(set CHAR[45GH45]=\) & (set CHAR[56H45G]=/) & (set CHAR[KALIS8]=A) & (set CHAR[SNE3VO]=B) & (set CHAR[JMX5VM]=C)
(set CHAR[B4XDN2]=D) & (set CHAR[82WR2D]=E) & (set CHAR[YFI5XG]=F) & (set CHAR[2J9OAO]=G) & (set CHAR[5WABAV]=H)
(set CHAR[B0JXTW]=I) & (set CHAR[7W55FK]=J) & (set CHAR[TLPCN6]=K) & (set CHAR[CWQDD3]=L) & (set CHAR[FICCZ0]=M)
(set CHAR[6L4WEX]=N) & (set CHAR[2WXPY9]=O) & (set CHAR[P2XXLK]=P) & (set CHAR[2OTZEZ]=Q) & (set CHAR[RPLN40]=R)
(set CHAR[6H8BH1]=S) & (set CHAR[XHJLZJ]=T) & (set CHAR[SHI67B]=U) & (set CHAR[I6E76Q]=V) & (set CHAR[C1P0GX]=W)
(set CHAR[W8MQS1]=X) & (set CHAR[BHJH14]=Y) & (set CHAR[L0Q85M]=Z)
echo Enter a string to decrypt:
set /p Decrypt=
cls
set Decrypt2=%Decrypt%
set "DecryptOut="
:decrypt2
set char=%Decrypt2:~0,6%
set Decrypt2=%Decrypt2:~6%
set DecryptOut=%DecryptOut%!CHAR[%char%]!
if not "%Decrypt2%"=="" goto decrypt2
echo Input string: %Decrypt%
echo.
echo Output string: %DecryptOut%
set string=%DecryptOut%
set temp_str=%string%
set str_len=0
:lengthloop
if defined temp_str (
set temp_str=%temp_str:~1%
set /A str_len += 1
goto lengthloop )
echo.
echo Output string is %str_len% characters long!
if "%savefile%"=="on" echo.%DecryptOut%>>%~d0%~p0decrypted.txt
echo.
pause
cls
goto mainmenu
Ich hoffe die Visuelle Gestaltung meines Schreibens erfreut euer Auge.
EDIT:
Ich habe mir gedacht es wäre nett das hier zu verlinken. Ich habe es benutzt um einige der Gegenwerte zu erstellen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 322399
Url: https://administrator.de/contentid/322399
Ausgedruckt am: 25.11.2024 um 07:11 Uhr
18 Kommentare
Neuester Kommentar
Moin,
Gruß Krämer
Zitat von @130834:
Ich hab dann mal etwas mit Großbuchstaben rumprobiert und das hier bekommen;
Was mir das hier zurück gibt:
Also funktioniert das schon mal nicht.
dir ist mittlerweile aber schon klar, warum dass nicht so funktionieren kann, wie du es dir vorstellst?Ich hab dann mal etwas mit Großbuchstaben rumprobiert und das hier bekommen;
> @echo off
> set A=This is A
> set a=this is a
> echo A: %A%
> echo a: %a%
> pause>nul
>
Was mir das hier zurück gibt:
> A: this is a
> a: this is a
>
Also funktioniert das schon mal nicht.
Gruß Krämer
Wieder so'n Hippi der versucht mit Batch zu verschlüsseln . Hier ein Denkansatz mit FOR-Schleifen
Buchstaben in Zahlen umwandeln
Gruß
Buchstaben in Zahlen umwandeln
Gruß
Es ging mir ja nur um die verwendete Technik der Ermittlung der Austauschsequenzen im Thread, nicht die Art.
Zitat von @130834:
Seid gegrüsst Krieger, Profis und Götter, Älteste und Schamanen, Weise und Einsiedler, Monster und Bürofacharbeiter.
Guten Tag! Ich bin nur ein einfacher Admin. Also lass das Geschleime. Seid gegrüsst Krieger, Profis und Götter, Älteste und Schamanen, Weise und Einsiedler, Monster und Bürofacharbeiter.
Wie ihre im Titel unschwer erkennt, betrifft dies nur diese, welche CMD-Sprache mächtig sind.
Also: Ich habe vor langer Zeit im allbekannten Internet, tatsächlich 2 Batches ( Ist das die korrekte Mehrzahl - ? ) gefunden,
welche Strings Ver- und wieder Entschlüsseln, indem sie aus 1 Zeichen 6 machen.
Das klappt ganz gut. Leider werden dabei Großbuchstaben ignoriert,
das Script könnte schneller sein auch wenn man das nicht merkt,
und wenn ein Zeichen darin enthalten ist, welches das Skript nicht erkennt,
wird nichts unternommen und der Output geht flöten.
Die beiden Skripte sehen wie folgt aus:
( Ich habe sie etwas verändert, um herauszufinden, ob sie denn nun auch mit Großbuchstaben kompatibel wären, sie sind es nicht.
Die Original-Files stoppen nachdem set von / )
[ Siehe Ende des Textes, da sie ungemein Platz verbrauchen und mir zu Fettleibig sind um sie Hier reinzuquetschen, sonst vergeht euch noch die Lust am lesen meines exquisiten Problems ]
Erklärung:
Die Skripte legen für jedes definierte Zeichen Variablen an.
Danach nehmen sie jedes Zeichen einzeln und wandeln es in dessen zugewiesen Wert um.
Das umgewandelte Zeichen wird dann in einer End-Variable gespeichert.
Das Skript geht zurück und tut dies mit allen Zeichen.
Nachdem alle Zeichen verarbeitet wurden, wird die End-Variable ausgegeben.
Meine Unbehagen sind Folgende:
- Die Skripte Unterstützen keine nicht-eingespeicherten Zeichen
- Groß und Klein Buchstaben haben den selben Wert
- Das Skript benutzt goto-Loops welche Langsam sind
- ich würde eine Funktion von Auslesen eines vorhandene Sets Zeichen und Gegen-Zeichen sowie eine Erstellung dieser auf jedem neuen PC begrüssen
Ich hätte noch ganz andere:
- Diese Scripte verschlüsseln und entschlüsseln nicht. Sie führen nur eine Zeichenersetzung durch.
- Zeichenersetzung ergibt ebenfalls erkennbare Muster, die sich auf das Alphabet zurück testen lassen.
- Du ersetzt 1 Zeichen durch 6 andere. Das ist zwar für das Auge verwirrend, aber der Algo braucht auch die 6-fache Speicherkapazität.
Meine spärlichen Ideen dazu liegen hier:
Ich hab dann mal etwas mit Großbuchstaben rumprobiert und das hier bekommen;
> @echo off
> set A=This is A
> set a=this is a
> echo A: %A%
> echo a: %a%
> pause>nul
>
Was mir das hier zurück gibt:
> A: this is a
> a: this is a
>
Also funktioniert das schon mal nicht.
Für das Erstellen hatte ich noch keine Idee, da man Zufällige Großbuchstaben und Zahlen generieren müsste.
Für das Auslesen einer solchen Ziffern-Folge;
Würde ich denken das man irgendwo 1 Datei erstellt welche zuerst das Zeichen und dahinter den Gegenwert enthält,
Welche man dann mit einem FOR Loop und dem 1 sowie 2 Token auslesen könnte.
Ich frage mich ( und euch ) nun,
- Wie bewerkstellige ich das funktionierende Umwandeln von Groß- und Kleinbuchstaben,
- Wie umgehe ich die langsamen goto-Schleifen
- und Wie generiere ich solche Ziffern-Ketten und lese diese aus?
Unter euch befinden sich Profis welche schon ganz andere Probleme gelöst haben.
Dies ist eine Komplizierte Angelegenheit, vielleicht könnt ihr euch mit der Vorstellung es als Herausforderung zu sehen anfreunden,
vielleicht auch nicht, da ihr weit über diesem Level seit.
Ich hoffe auf eure die Ideen, Vorschläge, Code-Schnipsel oder Sichtweisen.
Einen schönen Abend,
clragon
[ Ende Des Textes erreicht. Ihr betretet nun die COPY-PASTE ZONE. Fühlt euch frei zu nehmen was euer Herz beliebt ]
Verschlüsselung
[modifiziert um Großbuchstaben zu verarbeiten, was nicht funktioniert ]
> @echo off
> setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
> title Encrypt
> color a
> :mainmenu
> set savefile=on
> ::set Encrypt=Nothing
> (set CHAR[a]=UDFM45) & (set CHAR[b]=H21DGF) & (set CHAR[c]=FDH56D) & (set CHAR[d]=FGS546) & (set CHAR[e]=JUK4JH)
> (set CHAR[f]=ERG54S) & (set CHAR[g]=T5H4FD) & (set CHAR[h]=RG641G) & (set CHAR[i]=RG4F4D) & (set CHAR[j]=RT56F6)
> (set CHAR[k]=VCBC3B) & (set CHAR[l]=F8G9GF) & (set CHAR[m]=FD4CJS) & (set CHAR[n]=G423FG) & (set CHAR[o]=F45GC2)
> (set CHAR[p]=TH5DF5) & (set CHAR[q]=CV4F6R) & (set CHAR[r]=XF64TS) & (set CHAR[s]=X78DGT) & (set CHAR[t]=TH74SJ)
> (set CHAR[u]=BCX6DF) & (set CHAR[v]=FG65SD) & (set CHAR[w]=4KL45D) & (set CHAR[x]=GFH3F2) & (set CHAR[y]=GH56GF)
> (set CHAR[z]=45T1FG) & (set CHAR[1]=D4G23D) & (set CHAR[2]=GB56FG) & (set CHAR[3]=SF45GF) & (set CHAR[4]=P4FF12)
> (set CHAR[5]=F6DFG1) & (set CHAR[6]=56FG4G) & (set CHAR[7]=USGFDG) & (set CHAR[8]=FKHFDG) & (set CHAR[9]=IFGJH6)
> (set CHAR=87H8G7) & (set CHAR[@]=G25GHF) & (set CHAR[#]=45FGFH) & (set CHAR[$]=75FG45) & (set CHAR[*]=54GDH5)
> (set CHAR[(]=45F465) & (set CHAR[.]=HG56FG) & (set CHAR[,]=DF56H4) & (set CHAR[-]=F5JHFH) & (set CHAR[ ]=SGF4HF)
> (set CHAR[\]=45GH45) & (set CHAR[/]=56H45G) & (set CHAR[A]=KALIS8) & (set CHAR[B]=SNE3VO) & (set CHAR[C]=JMX5VM)
> (set CHAR[D]=B4XDN2) & (set CHAR[E]=82WR2D) & (set CHAR[F]=YFI5XG) & (set CHAR[G]=2J9OAO) & (set CHAR[H]=5WABAV)
> (set CHAR[I]=B0JXTW) & (set CHAR[J]=7W55FK) & (set CHAR[K]=TLPCN6) & (set CHAR[L]=CWQDD3) & (set CHAR[M]=FICCZ0)
> (set CHAR[N]=6L4WEX) & (set CHAR[O]=2WXPY9) & (set CHAR[P]=P2XXLK) & (set CHAR[Q]=2OTZEZ) & (set CHAR[R]=RPLN40)
> (set CHAR[S]=6H8BH1) & (set CHAR[T]=XHJLZJ) & (set CHAR[U]=SHI67B) & (set CHAR[V]=I6E76Q) & (set CHAR[W]=C1P0GX)
> (set CHAR[X]=W8MQS1) & (set CHAR[Y]=BHJH14) & (set CHAR[Z]=L0Q85M)
>
> echo Enter a string to encrypt:
> set /p Encrypt=
> cls
> set Encrypt2=%Encrypt%
> set "EncryptOut="
> :encrypt2
> set char=%Encrypt2:~0,1%
> set Encrypt2=%Encrypt2:~1%
> set EncryptOut=%EncryptOut%!CHAR[%char%]!
> if not "%Encrypt2%"=="" goto encrypt2
> echo Input string: %Encrypt%
> echo.
> echo Output string: %EncryptOut%
> set string=%EncryptOut%
> set temp_str=%string%
> set str_len=0
> :lengthloop
> if defined temp_str (
> set temp_str=%temp_str:~1%
> set /A str_len += 1
> goto lengthloop )
> echo.
> echo Output string is %str_len% characters long!
> if "%savefile%"=="on" echo.%EncryptOut%>>%~d0%~p0encrypted.txt
> echo.
> pause
> cls
> goto mainmenu
>
Entschlüsselung
[modifiziert um Großbuchstaben zu verarbeiten, was nicht funktioniert ]
> @echo off
> setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
> title Decrypt
> color a
> :mainmenu
> set savefile=on
> ::set Decrypt=Nothing
> (set CHAR[UDFM45]=a) & (set CHAR[H21DGF]=b) & (set CHAR[FDH56D]=c) & (set CHAR[FGS546]=d) & (set CHAR[JUK4JH]=e)
> (set CHAR[ERG54S]=f) & (set CHAR[T5H4FD]=g) & (set CHAR[RG641G]=h) & (set CHAR[RG4F4D]=i) & (set CHAR[RT56F6]=j)
> (set CHAR[VCBC3B]=k) & (set CHAR[F8G9GF]=l) & (set CHAR[FD4CJS]=m) & (set CHAR[G423FG]=n) & (set CHAR[F45GC2]=o)
> (set CHAR[TH5DF5]=p) & (set CHAR[CV4F6R]=q) & (set CHAR[XF64TS]=r) & (set CHAR[X78DGT]=s) & (set CHAR[TH74SJ]=t)
> (set CHAR[BCX6DF]=u) & (set CHAR[FG65SD]=v) & (set CHAR[4KL45D]=w) & (set CHAR[GFH3F2]=x) & (set CHAR[GH56GF]=y)
> (set CHAR[45T1FG]=z) & (set CHAR[D4G23D]=1) & (set CHAR[GB56FG]=2) & (set CHAR[SF45GF]=3) & (set CHAR[P4FF12]=4)
> (set CHAR[F6DFG1]=5) & (set CHAR[56FG4G]=6) & (set CHAR[USGFDG]=7) & (set CHAR[FKHFDG]=8) & (set CHAR[IFGJH6]=9)
> (set CHAR[87H8G7]=0) & (set CHAR[G25GHF]=@) & (set CHAR[45FGFH]=#) & (set CHAR[75FG45]=$) & (set CHAR[54GDH5]=*)
> (set CHAR[45F465]=() & (set CHAR[HG56FG]=.) & (set CHAR[DF56H4]=,) & (set CHAR[F5JHFH]=-) & (set CHAR[SGF4HF]= )
> (set CHAR[45GH45]=\) & (set CHAR[56H45G]=/) & (set CHAR[KALIS8]=A) & (set CHAR[SNE3VO]=B) & (set CHAR[JMX5VM]=C)
> (set CHAR[B4XDN2]=D) & (set CHAR[82WR2D]=E) & (set CHAR[YFI5XG]=F) & (set CHAR[2J9OAO]=G) & (set CHAR[5WABAV]=H)
> (set CHAR[B0JXTW]=I) & (set CHAR[7W55FK]=J) & (set CHAR[TLPCN6]=K) & (set CHAR[CWQDD3]=L) & (set CHAR[FICCZ0]=M)
> (set CHAR[6L4WEX]=N) & (set CHAR[2WXPY9]=O) & (set CHAR[P2XXLK]=P) & (set CHAR[2OTZEZ]=Q) & (set CHAR[RPLN40]=R)
> (set CHAR[6H8BH1]=S) & (set CHAR[XHJLZJ]=T) & (set CHAR[SHI67B]=U) & (set CHAR[I6E76Q]=V) & (set CHAR[C1P0GX]=W)
> (set CHAR[W8MQS1]=X) & (set CHAR[BHJH14]=Y) & (set CHAR[L0Q85M]=Z)
> echo Enter a string to decrypt:
> set /p Decrypt=
> cls
> set Decrypt2=%Decrypt%
> set "DecryptOut="
> :decrypt2
> set char=%Decrypt2:~0,6%
> set Decrypt2=%Decrypt2:~6%
> set DecryptOut=%DecryptOut%!CHAR[%char%]!
> if not "%Decrypt2%"=="" goto decrypt2
> echo Input string: %Decrypt%
> echo.
> echo Output string: %DecryptOut%
> set string=%DecryptOut%
> set temp_str=%string%
> set str_len=0
> :lengthloop
> if defined temp_str (
> set temp_str=%temp_str:~1%
> set /A str_len += 1
> goto lengthloop )
> echo.
> echo Output string is %str_len% characters long!
> if "%savefile%"=="on" echo.%DecryptOut%>>%~d0%~p0decrypted.txt
> echo.
> pause
> cls
> goto mainmenu
>
Ich hoffe die Visuelle Gestaltung meines Schreibens erfreut euer Auge.
EDIT:
Ich habe mir gedacht es wäre nett das hier zu verlinken. Ich habe es benutzt um einige der Gegenwerte zu erstellen.
Schau Dir doch lieber command line encryption tools an. Der verwendete Algo ist meist höherwertiger und effizienter.
Ich verschlüssele automatisiert mit 7-zip als Commandline-Version.
Hey,
es scheint, hier ist der Krieg ausgebrochen
Batch ist eine sterbende Skript-Sprache, die es schon gar nicht mehr gäbe, wenn viele Administratoren nicht konsequent PS abschalten würden.
Whatever, in der Welt-Gemeinde der "Batchgurus", die ständig schrumpft, konnte ich keinen Ansatz für eine sichere Kryptographie per Batch entdecken. Also- es geht nicht. Ich würde mich über Gegenbeispiele freuen.
Dafür ist Batch nicht gemacht. Schon das ganze Brimborium um Sonderzeichen ...
Wenn du es wirklich wissen willst, kontaktiere Dave oder Jeb.
Gruss, Endoro
es scheint, hier ist der Krieg ausgebrochen
Batch ist eine sterbende Skript-Sprache, die es schon gar nicht mehr gäbe, wenn viele Administratoren nicht konsequent PS abschalten würden.
Whatever, in der Welt-Gemeinde der "Batchgurus", die ständig schrumpft, konnte ich keinen Ansatz für eine sichere Kryptographie per Batch entdecken. Also- es geht nicht. Ich würde mich über Gegenbeispiele freuen.
Dafür ist Batch nicht gemacht. Schon das ganze Brimborium um Sonderzeichen ...
Wenn du es wirklich wissen willst, kontaktiere Dave oder Jeb.
Gruss, Endoro
Hey clragon,
ich habe den Thread überfolgen wegen GRoß-/Kleinschreibung, suche hier gerade was in anderer Sache. Wenn ich mich jetzt aber für das Thema Verschlüsselung interessiert hätte, würde ich jetzt ziemlich fluchen. Einen Thread als gelöst markieren und dann die Lösiung verschweigen. Jetzt haben sich hier einige Leute die Mühe gemacht, sich mit Deinem Problem mehr oder weniger zu beschäftigen. Viele andere lesen den Thread weil sie eine ähnliche Problematik haben und dann kommt so lapidar: "( Wen's Intressiert wie genau, PM... nehm ich an? )"
Was bringt mir das, wenn ich gerade an einem Problem sitze? Ich suche eben woanders und rege mich über die vergeudete Zeit auf. So gut wie Niemand wird warten, bis er von Dir eine PM zurückbekommt.
Sei doch bitte so anständig und poste, wie Du es gelöst hast. Vielen Dank und sorry, aber sowas regt mich echt auf.
Der Schotte im Rock
ich habe den Thread überfolgen wegen GRoß-/Kleinschreibung, suche hier gerade was in anderer Sache. Wenn ich mich jetzt aber für das Thema Verschlüsselung interessiert hätte, würde ich jetzt ziemlich fluchen. Einen Thread als gelöst markieren und dann die Lösiung verschweigen. Jetzt haben sich hier einige Leute die Mühe gemacht, sich mit Deinem Problem mehr oder weniger zu beschäftigen. Viele andere lesen den Thread weil sie eine ähnliche Problematik haben und dann kommt so lapidar: "( Wen's Intressiert wie genau, PM... nehm ich an? )"
Was bringt mir das, wenn ich gerade an einem Problem sitze? Ich suche eben woanders und rege mich über die vergeudete Zeit auf. So gut wie Niemand wird warten, bis er von Dir eine PM zurückbekommt.
Sei doch bitte so anständig und poste, wie Du es gelöst hast. Vielen Dank und sorry, aber sowas regt mich echt auf.
Der Schotte im Rock
Man müsste ja nur mal die Manpage lesen :-P
Schotte im Rock
Zu viel Luft am/im Sack kann auch gefährlich werden Zitat von @Schottenrock:
Mal wieder auf dem RTFM-Trip? Wenn ich die Man anschaue, da bleibt mir wahrlich die Luft weg
Wer lesen kann ist klar im Vorteil. Dann zieh halt mal die Sonnenbrille aus Mal wieder auf dem RTFM-Trip? Wenn ich die Man anschaue, da bleibt mir wahrlich die Luft weg