2011-08-16 3 views
1

우리의 서비스를 사용하기 때문에 일부 데이터를 클라이언트 서버에 보내고 싶습니다. 플레이어 세부 정보에 대한 약간의 의사 소통이있을 것입니다. 어떤 암호화가 사용되어야하며 그 암호화 알고리즘을위한 키를 생성하는 방법. 우리의 코드는 PHP에 있습니다.알고리즘 통신 및 키 생성에 사용 하시겠습니까?

미리 감사드립니다.

답변

2

당신은 OpenSSL 기능을 사용할 수 있습니다를 포함 phpseclib 한 번 봐 가지고.

$res = openssl_pkey_new(); 

openssl_pkey_export($res, $privatekey); // Get private key 

$publickey = openssl_pkey_get_details($res); // Get public key 
$publickey = $publickey["key"]; 

스토어 서버의 개인 키와 서버에 다음, 클라이언트에 공개 키를 전송 : 클라이언트

openssl_private_encrypt($data, $encrypted, $privatekey); 

:

이 새 공개/개인 키 쌍을 생성하는 방법이다
openssl_public_decrypt($encrypted, $data, $publickey); 
1

클라이언트에서 서버로 또는 그 반대로 데이터를 암호화하려면 SSL을 사용해야합니다. 웹 사이트에 대한 저렴한 인증서를 얻을 수 있습니다. 인증서가없는 경우에도 암호화는 계속되지만 웹 사이트를 방문하는 사용자에게는 잘못된 인증서와 관련된 경고가 표시됩니다.

인증서 결제는 약 10 달러입니다 (판매하는 네덜란드 회사 기준).

+0

암호 해독이없는 곳에서는 SHA1 알고리즘을 사용하는 것이 어떻습니까? 그러나 열쇠를 생성하는 방법 ?? – cooldude

+0

귀하의 질문에 대한 확신이 없으므로 SHA1 키를 생성 하시겠습니까? – Devator

+0

SHA1은 암호화가 아닌 해시 값을 coping하는 데 사용됩니다. – dader

관련 문제