2011-10-31 96 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