130834
Goto Top

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:

  • 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.

Content-ID: 322399

Url: https://administrator.de/contentid/322399

Ausgedruckt am: 25.11.2024 um 07:11 Uhr

sabines
sabines 30.11.2016 um 07:05:15 Uhr
Goto Top
Moin,

mal 'ne Zwischenfrage: Für was willst Du das einsetzen?

Gruss
Kraemer
Kraemer 30.11.2016 um 08:55:06 Uhr
Goto Top
Moin,
Zitat von @130834:
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.
dir ist mittlerweile aber schon klar, warum dass nicht so funktionieren kann, wie du es dir vorstellst?

Gruß Krämer
131381
131381 30.11.2016 aktualisiert um 13:33:16 Uhr
Goto Top
Wieder so'n Hippi der versucht mit Batch zu verschlüsseln face-big-smile. Hier ein Denkansatz mit FOR-Schleifen
Buchstaben in Zahlen umwandeln

Gruß
130834
130834 30.11.2016 aktualisiert um 13:55:26 Uhr
Goto Top
Natürlich. Sonst hätte ich das ja gar nicht erst ausprobiert.
Interessant aber das Variablen offenbar Groß und Kleinschreibung komplett Ignorieren.
Folglich ist der Ansatz des Skripts falsch. Jedoch würde eine IF-Abfrage das ganze erheblich verlangsamen, nicht? Wahrscheinlich kommen wir trotzdem nicht drum herum.
130834
130834 30.11.2016 um 13:50:38 Uhr
Goto Top
Im Vergleich zu dem anderen Hippie sieht meine Verschlüsselung zumindest Kompliziert aus
131381
131381 30.11.2016 aktualisiert um 13:54:01 Uhr
Goto Top
Es ging mir ja nur um die verwendete Technik der Ermittlung der Austauschsequenzen im Thread, nicht die Art.
130834
130834 30.11.2016 um 13:56:01 Uhr
Goto Top
Weiss ich doch face-smile
beidermachtvongreyscull
beidermachtvongreyscull 01.12.2016 um 13:43:03 Uhr
Goto Top
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. face-smile


Wie ihre im Titel unschwer erkennt, betrifft dies nur diese, welche CMD-Sprache mächtig sind.
Bin ich nicht zur Gänze, aber ich habe, meiner bescheidenen Meinung nach, ausreichend Hirn und Verstand.



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.
Ja. Vielen Dank. Das macht es lesbar.


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.
Endoro
Endoro 01.12.2016 um 18:56:38 Uhr
Goto Top
Hey,

es scheint, hier ist der Krieg ausgebrochen face-wink

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
130834
130834 05.12.2016 um 00:04:08 Uhr
Goto Top
Batch ist eine sterbende Skript-Sprache

Batch darf nicht sterben! Wofür sind wir Krieger?!
Endoro
Endoro 05.12.2016 um 04:48:26 Uhr
Goto Top
Hey,

Zitat von @130834:

Batch ist eine sterbende Skript-Sprache

Batch darf nicht sterben! Wofür sind wir Krieger?!

Batch wird nicht sterben, solange es 1) Administratoren gibt, die PS abwürgen und es 2) Fanboys (wie mich) gibt.

Liebe Grüße, Endoro
130834
130834 30.12.2016 um 16:00:22 Uhr
Goto Top
Finaler Nachtrag:

Meine Skripte Verschlüsseln Inzwischen mit Asynchroner PGP über GnuPG4win.
Problem ... Aus dem Weg geschafft.
( Wen's Intressiert wie genau, PM... nehm ich an? )

Vielen Dank für euer aller Einsatz.

lg clragon
Schottenrock
Schottenrock 31.05.2019 um 10:23:53 Uhr
Goto Top
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
139920
139920 31.05.2019 aktualisiert um 10:35:49 Uhr
Goto Top
Man müsste ja nur mal die Manpage lesen :-P
Schotte im Rock
Zu viel Luft am/im Sack kann auch gefährlich werden face-big-smile
Schottenrock
Schottenrock 31.05.2019 um 13:25:44 Uhr
Goto Top
Mal wieder auf dem RTFM-Trip? Wenn ich die Man anschaue, da bleibt mir wahrlich die Luft weg face-smile
139920
139920 31.05.2019 aktualisiert um 15:43:55 Uhr
Goto Top
Zitat von @Schottenrock:

Mal wieder auf dem RTFM-Trip? Wenn ich die Man anschaue, da bleibt mir wahrlich die Luft weg face-smile
Wer lesen kann ist klar im Vorteil. Dann zieh halt mal die Sonnenbrille aus face-smile
130834
130834 31.05.2019 um 18:27:47 Uhr
Goto Top
Hallo Schottenrock,

Das ist aber nicht sehr nett, nicht einmal auf eine PM von mir zu warten face-sad

Die Lösung dieses endlos nervigen Problems ist es sich den gpg4win installer 2.3.3 herunterzuladen und die Exe datei einfach aus dem Ordner rauszureissen. Danach lädt man sich vielleicht noch iconv.dll von der Website selbst herunter und schon hat man ein portables GPG das man mit der Batch Datei verschiffen kann.

GPG funktioniert wie immer, man macht sich einen Schlüssel-Paar in einem selbst ausgewählten Ordner, und schon kann man damit Dateien verschlüsseln.

Ich hab dann danach aus Dummheit oder Langeweile oder beidem mal einen Ordner mit Skripten die die nützlichen Funktionen etwas abstrahieren und ein einfaches Konsolen Interface zur Verfügung stellen gebaut.

Die kann man hier finden.

Auf der Suche nach der Lösung zu welchem Problem bist du denn her gekommen?
Vielleicht finden wir dafür ja auch was.
Schottenrock
Schottenrock 31.05.2019 aktualisiert um 18:38:03 Uhr
Goto Top
Danke! Mein Problem ist bereits gelöst. Ist off-topic hier.