2011-08-16 10 views
1

我想發送一些數據到客戶端服務器,因爲他們將使用我們的服務。會有一些關於玩家細節的交流。應該使用哪種加密以及如何爲該加密算法生成密鑰。我們的代碼是在php中。算法用於通信和生成密鑰?

謝謝提前。

回答

2

您可以使用OpenSSL功能。這是你如何生成新的公鑰/私鑰對:

$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用於散發散列值,不用於加密。 – dader