我注意到PHP中的openssl和mcrypt函数都只接受将数据加密为字符串。这意味着值( int )1234567890被转换并加密为10字节字符串,而它最初只是一个4字节的int。是否有任何加密方法(与PHP捆绑在一起或作为外部函数/类)允许对整数进行加密?
发布于 2011-09-05 12:47:45
不是的。如果您想将整数加密为4字节的二进制表示形式,则必须对其进行预转换:
$bin = pack("L", $int); // unsigned 4-byte integer
xyz_crypt(...)解密后再unpack一次。
发布于 2011-09-05 12:48:24
mcrypt操作字符串,而不是整数,所以您需要使用pack()将一个整数打包成一个4字节的字符串。(反转函数足够明智地使用unpack()。)
https://stackoverflow.com/questions/7303941
复制相似问题