2011-09-05 4 views
0

PHP에서 openssl 및 mcrypt 함수가 모두 데이터를 문자열로만 암호화하도록 허용한다는 사실을 알고 있습니다. 즉, (int) 1234567890의 값은 원래 4 바이트 int 일 때 10 바이트 문자열로 변환되고 암호화됩니다. 정수를 암호화 할 수있는 암호화 방법 (PHP 또는 외부 함수/클래스로 묶음)이 있습니까? 당신은 4 바이트의 바이너리 표현으로 당신의 정수를 암호화하려면PHP에서 정수 암호화

답변

2

아니요, 당신은 그것을 preconvert해야 :

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

그리고 unpack이 다시 암호 해독 후.

+0

정확하게 알고 싶었던 것입니다. 감사! – Dan

1

mcrypt는 정수가 아닌 문자열에서 작동하므로 pack()을 사용하여 정수를 4 바이트 문자열로 압축해야합니다. (역함수는 충분히 의미가 있습니다. unpack()입니다.)