Strona główna CMD C++ Hardware HTML i javascript Java Software SQL

CMD – szyfrowanie plików z linii komend (gpg2).

Dodano: 2013-03-13

GPG4win jest darmowym narzędziem umożliwiającym szyfrowanie informacji w systemie (plików, folderów). Dzięki temu programowi można ukrywać ważne dane wykorzystując metodę szyfrowania symetrycznego lub asymetrycznego.

Instalację GPG4win 2.1 - light możesz pobrać stąd:

lub ze strony domowej programu w najbardziej aktualnej wersji GPG4win.

Szyfrowanie metodą symetryczną w linii komend:

echo [password] | [pathToGPG] --passphrase-fd 0 --quiet --batch --yes -c [pathToFile]

oraz deszyfrowanie

@echo [password] | [pathToGPG] --passphrase-fd 0 --quiet --batch --yes -o [pathToFileOutput] -d [pathToFileEncrypted]

Jeżeli chcemy szyfrować i deszyfrować pojedyncze pliki korzystając z linii komend, warto utworzyć dwa skrypty w "języku" cmd, które zminimalizuje ilość wpisywanych komend potrzebnych do wykonania operacji ukrywania danych. Poniżej przykłady skryptów.

Skrypty jako parametr początkowy przyjmują nazwę pliku, na którym ma być wykonana operacja szyfrowania lub deszyfrowania.

W obydwu skryptach należy wykonać modyfikację zmiennej pathToGPG, którą jest ścieżką do programu gpg2.exe w systemie na którym użytkownik pracuje. Przykładowo jeżeli programu GPG4win został zainstalowany w miejscu d:\programs\tools\GPG to ścieżka do gpg2.exe będzie wyglądała następująco "d:\programs\tools\GPG\gpg2.exe".

@echo off

@rem Script symmetrically encrypts files using the gpg2.exe. Takes one parameter, which is the path to the file.

if [%1] equ [] (
	@echo Argument not exists!!!
	goto END
)

if not exist %1 (
	@echo Path to file not exist!!!
	@echo %1
	goto END
)

set /p pass="Type password: "
set /p repass="Retype pass: "

if "%pass%" neq "%repass%" (
	@echo Password are diffrent!!!
	@echo pass   "%pass%"
	@echo repass "%repass%"
	goto END	
)

if "%pass%" equ "" (
	@echo Password is empty!!!
	goto END
)

set pathToGPG=e:\tools\GnuPG\gpg2.exe

@echo %pass% | %pathToGPG% --passphrase-fd 0 --quiet --batch --yes -c %1

:END

Skrtyp deszyfrujący pliki:

@echo off

@rem Script symmetrically decrypts files using the gpg2.exe. Takes one parameter, which is the path to the file.

if [%1] equ [] (
	@echo Argument not exists!!!
	goto END
)

if not exist %1 (
	@echo Path to file not exist!!!
	@echo %1
	goto END
)

set /p pass="Type password: "
set /p repass="Retype pass: "

if "%pass%" neq "%repass%" (
	@echo Password are diffrent!!!
	@echo pass   "%pass%"
	@echo repass "%repass%"
	goto END	
)

if "%pass%" equ "" (
	@echo Password is empty!!!
	goto END
)

set pathToGPG=e:\tools\GnuPG\gpg2.exe

@echo %pass% | %pathToGPG% --passphrase-fd 0 --quiet --batch --yes -o %~dpn1 -d %1

:END