2011-10-31 158 views
0

即時通訊在投票系統中實現一個安全模塊,我想知道什麼是在PHP中加密(而不是哈希)數據的最快方式?我在想像TEA這樣的東西,但我從來沒有真正測試過性能。如果有人在這裏分享一些知識,我會很感激。快速PHP加密算法?

+0

什麼是你的用例?你爲什麼要加密數據? – thejh

+3

*最快*的方式可能是異或。如果你提供更多細節,可能會有更適合的東西。 – Ryan

+0

我需要使用會話密鑰加密數據以防止自動機器人投票。但要做到這一點,我需要快速算法,所以不會有性能問題。 – Anonymous

回答

3

我的建議是PHP的mcrypt的模塊:http://php.net/manual/en/book.mcrypt.php

代碼示例:

// encrypt 
$data = 'data to encrypt'; 
$key = 'mykey'; 
$vector_size = mcrypt_get_iv_size(MCRYPT_TRIPLEDES, MCRYPT_MODE_NOFB); 
$encrypted_data = mcrypt_encrypt(MCRYPT_TRIPLEDES, substr(sha1($key), -9), $data, MCRYPT_MODE_NOFB, $vector_size); 

// decrypt 
$key = 'mykey'; 
$vector_size = mcrypt_get_iv_size(MCRYPT_TRIPLEDES, MCRYPT_MODE_NOFB); 
$decrypted_data = rtrim(mcrypt_decrypt(MCRYPT_TRIPLEDES, substr(sha1($key), -9), $encrypted_data, MCRYPT_MODE_NOFB, $vector_size), "\0"); 
+0

感謝您的建議,但矢量init + 3des不是那麼快。 – Anonymous

+2

@Anonymous - 比較什麼?你需要多快?您是否查找了mcrypt模塊以查看是否有滿足您需求的任何內容? – evan