Шифровать целые числа в PHP - PullRequest
       39

Шифровать целые числа в PHP

0 голосов
/ 05 сентября 2011

Я заметил, что обе функции openssl и mcrypt в PHP принимают данные для шифрования только в виде строк. Это означает, что значение (int) 1234567890 преобразуется и шифруется в виде 10-байтовой строки, когда изначально оно было просто 4-байтовым int. Существуют ли какие-либо методы шифрования (в комплекте с PHP или как внешняя функция / класс), которые позволяют шифровать целые числа?

Ответы [ 2 ]

2 голосов
/ 05 сентября 2011

Нет.Если вы хотите зашифровать свое целое число как 4-байтовое двоичное представление, то вам необходимо предварительно преобразовать его:

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

И unpack это снова после расшифровки.

1 голос
/ 05 сентября 2011

mcrypt работает со строками, а не с целыми числами, поэтому вам нужно будет использовать pack(), чтобы упаковать целое число в 4-байтовую строку.(Обратная функция, вполне разумно, unpack().)

...