2014-01-21 4 views
0

데이터를 암호화하고 일반 텍스트 파일로 보내야하는 확장명이 .asc 인 공개 키가 있습니다. PHP를 사용하여 Windows 컴퓨터에서이 작업을 수행하려고합니다. 어떤 아이디어? 감사합니다.공개 키를 사용하여 대용량 데이터를 암호화합니다. PHP의 .ASC

+1

PECL에는 gnupg 확장자가 있습니다. http://www.php.net/manual/en/book.gnupg.php –

+0

rocket-hazmat : 저는 리눅스에서 설정하는데 문제가 없습니다. Windows는 고통 스럽습니다 ... 나는 INI 파일 내에서 참조 할 수있는 DLL을 찾고 싶었지만 아무 것도 보지 못했습니다. – Voltaire

답변

0

installed the gnupg extension for PHP을 확인하십시오.

$gpg = new gnupg(); 
$publicData = file_get_contents('public.asc'); 
$publicKey = $gpg->import($publicData); 
$gpg->addencryptkey($publicKey['fingerprint']); 
echo $gpg->encrypt('Data to encrypt'); 

상수를 암호화하는 대신 파일 내용으로 바꾸고 암호화 된 메시지를 원하는 위치에 저장하십시오.

+0

gnupg 확장은 Windows에서 곧바로 진행되지 않습니다. PECL을 사용하여 설치했지만 오류가 발생했습니다. "오류 : DSP gnupg.dsp가 없습니다." 내가 소스에서 컴파일해야 할 수도 있습니다 ... – Voltaire

+0

그냥 바이너리를 호출 행복 할 수도 있습니다. 공개 키를 웹 서버 GnuPG 디렉토리에 넣고'gpg.exe -r DEADBEEF -d file-to-encrypt> encrypted-file.asc'를 호출하십시오. GnuPG의 전체 경로를 사용해야 할 수도 있습니다. 아니면 단순히 웹 서버로 리눅스 박스를 사용하십시오 ... –

+0

나쁜 생각은 아닙니다. Jens Erat에게 감사드립니다. – Voltaire