Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przesuwanie bitowe << oraz >> generują różne wyniki na różnych maszynach.
Forum PHP.pl > Forum > PHP
Sajrox
Witam,

Mam problem z operacjami bitowymi w php. Otóż mam kod:

Przykład 1:
  1. $a = 100;
  2. $b = $a << 8;
  3. echo $b;


W ten sposób na ekranie widzę: 25600

Jednak przy wiekszych liczbach jak np:
Przykład 2:
  1. $a = 100000000000;
  2. $b = $a << 8;
  3. echo $b;


Mam już różne wyniki:
Jeden serwer pokazuje: 1994915840
Inny: 25600000000000

Pytanie czy można coś na to poradzić ? Przez ten problem po przeniesieniu serwisu na inny serwer, hasła które są kodowane metodą blowfish przestały działać :/ Dzieje się tak gdyż są generowane różne klucze do hasła przez problem wymieniony wyżej.

Macie jakieś rady na to ?
blooregard
Czy te serwery mają taką samą architekturę, czy jeden jest 32-bitowy, a drugi 64-bitowy?

Nie chce mi się teraz liczyć, ale przy 32 bitach, jak przesuniesz 100000000000 o 8 bitów, to "przekręcisz licznik", dlatego pokaże Ci 1994915840. Przy 64 bitach zakres INT-a wystarczy, by przesunąć 100000000000 o 8 bitów i otrzymasz w wyniku 25600000000000.

Sajrox
Zauwazyłem że na 2 maszynach wynik powyżej jest taki sam ale mimo tego blowfish generuje różne hasła na wszystkich 3 maszynach:
Przykład:

home.pl:
hasło: aaa333
hasło po zakodowaniu: ZUZDdXZiR3NWd3c9


nazwa.pl:
hasło: aaa333
hasło po zakodowaniu: NFRCNFNvY2t4RFE9


localhost:
hasło: aaa333
hasło po zakodowaniu: aldTdCt6ZzQ5Q2c9


Wychodzi na to że nie ma możliwości przenieść serwisu z hasłami użytkowników na inny serwer :/


PS: Korzystam z tej klasy:
http://phpldapadmin.sourceforge.net/functi...r_blowfish.html
blooregard
  1. Encrypt a block on data.
  2. return: the encrypted output
  3. String encryptBlock (String $block, [optional $key = null])
  4. String $block: The data to encrypt
  5. optional $key: String $key The key to use


A czy tu przypadkiem sprawa nie dotyczy tego klucza? ($key)
Sajrox
Klucz akurat mam wszędzie taki sam. sad.gif

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.