2011-09-05 78 views
0

我注意到,PHP中的openssl和mcrypt函数都接受只作为字符串加密的数据。这意味着(int)1234567890的值被转换并加密为10字节的字符串,当它最初只是一个4字节的int时。是否有任何加密方法(与PHP捆绑或作为外部函数/类)允许对整数进行加密?在PHP中加密整数

回答

2

号如果您希望加密整数为4个字节的二进制表示,那么你必须preconvert它:

$bin = pack("L", $int); // unsigned 4-byte integer 
xyz_crypt(...) 

而且unpack这个解密后再次。

+0

正是我所需要知道的。谢谢! – Dan

1

mcrypt对字符串进行操作,而不是整数,因此您需要使用pack()来将整数打包为4字节的字符串。 (相反的功能足够理智,unpack()。)