Šifrování s GPG pomocí PHP

hlasů
0

Potřebuji pomoc šifrování souborů v PHP pomocí GPG. Udělal jsem nějaký výzkum, ale ještě nemůže najít řešení.

Pomocí GPG v příkazové řádce funguje perfektně, ale když se snažím z PHP získám návratovou hodnotu 2. Také jsem se snažil procházet ‚--yes --always-trust‘ jako pomocných spínačů pro velení, jak je navrženo v jedné z odpovědí na SO, ale žádná radost.

Snažil jsem se pomocí funkce gnupg integrována do PHP - všechny příklady Zjistil jsem ukázat, jak šifrovat řetězce a ne soubory. čtení souboru jako řetězec nebude pracovat pro mě, protože jsem pracoval na velké soubory velké jako 15 MB.

Potřebuji pomoci!

prostředí Podrobnosti

OS: Windows 7
PHP installation: WAMP Server 2.1

Kód

$path = c:\wamp\www;
$recipient = Test user;
$encrypted_file = c:\wamp\www\test.txt.gpg;
$decrypted_file = c:\wamp\www\decrypted_test.txt;
$plain_file = c:\wamp\www\test.txt;

exec('gpg --homedir $path --recipient $recipient --output $encrypted_file --encrypt $plain_file --yes --always-trust', $answer, $rtn);

var_dump($answer);
var_dump($rtn);
echo <br />ANSWER: .$answer;
echo <br />RTN: .$rtn;

Výstup

array(0) { } int(2) 
ANSWER: Array
RTN: 2
PHP User: nt authority\system
Položena 13/10/2011 v 09:43
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

zkuste změnit

exec('gpg --homedir $path --recipient $recipient --output $encrypted_file --encrypt                     $plain_file --yes --always-trust', $answer, $rtn);

Na

exec("gpg --homedir $path --recipient $recipient --output $encrypted_file --encrypt                     $plain_file --yes --always-trust", $answer, $rtn);

Všiml jsem si změnil apostrofy na dvojnásobek

http://php.net/manual/en/language.types.string.php

Odpovězeno 13/10/2011 v 09:49
zdroj uživatelem

hlasů
0

Mix up použití jediného citátu a dvojité cenovou nabídku.

$path = 'c:\wamp\www';
$recipient = 'Test user';
$encrypted_file = 'c:\wamp\www\test.txt.gpg';
$decrypted_file = 'c:\wamp\www\decrypted_test.txt';
$plain_file = 'c:\wamp\www\test.txt';

A v tomto řádku:

exec("C:\\Wamp\\WWW\\gpg --homedir $path --recipient $recipient --output $encrypted_file --encrypt                     $plain_file --yes --always-trust", $answer, $rtn);

Použijte uvozovky, když je potřeba řetězec, který má být analyzován PHP (vzít na vědomí Únikové znaky); použijte jednu citaci, kdy řetězec nemusí být analyzován.

Odpovězeno 13/10/2011 v 09:48
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more