Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przesuwanie bitowe << oraz >> generują różne wyniki na różnych maszynach., Różne wyniki na rżnych serwerach dla dużych liczb
Sajrox
post 13.05.2010, 09:35:25
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 7
Dołączył: 9.10.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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 ?
Go to the top of the page
+Quote Post
blooregard
post 13.05.2010, 09:43:28
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




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.



--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Sajrox
post 13.05.2010, 09:57:19
Post #3





Grupa: Zarejestrowani
Postów: 254
Pomógł: 7
Dołączył: 9.10.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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

Ten post edytował Sajrox 13.05.2010, 10:01:17
Go to the top of the page
+Quote Post
blooregard
post 13.05.2010, 10:09:10
Post #4


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




  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)


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Sajrox
post 13.05.2010, 10:50:05
Post #5





Grupa: Zarejestrowani
Postów: 254
Pomógł: 7
Dołączył: 9.10.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Klucz akurat mam wszędzie taki sam. sad.gif

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:17