Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Hex problem & Cryptowanie
Pooligans
post 7.08.2007, 21:52:52
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 7.08.2007

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


Witam, jestem programista C++, i mam male problemy z moja aplikaja w php. Pierwszy problem dotyczy cryptowania/dekryptowania. Mam nastepujacy kod w c++:

  1. <?php
  2. VOID EncryptMemory( BYTE* pSource, BYTE* pDestination, DWORD dwSize, int iKey )
  3. {
  4. for(unsigned int Z = 0; Z < dwSize; Z++)
  5. {
  6. *(pDestination+Z) = (int)( (*(pSource+Z) + (iKey+4)) ^ iKey );
  7. }
  8. }
  9.  
  10. VOID DecryptMemory( BYTE* pSource, BYTE* pDestination, DWORD dwSize, int iKey )
  11. {
  12. for(unsigned int Z = 0; Z < dwSize; Z++)
  13. {
  14. *(pDestination+Z) = (int)( (*(pSource+Z) ^ iKey) - (iKey + 4));
  15. }
  16. }
  17. ?>


Jest to prosty kod, pobierajacy bajt po bajcie znak, i szyfrujacy go w nastepujacy sposob - (Bajt + (Key+4)) ^ Key - oraz deszyfrujacy - (Bajt ^ Key) + (Key + 4). Potrzebuje cos identycznego w php, probowalem ale niestety mi nie wyszlo. Bede bardzo wdzieczny za pomoc.

Nastepny problem jest taki, ze posiadam zalozmy dwa pola, w ktorych uzytkownik podaje liczbe w hexie (duze liczby). Nastepnie za pomoca skryptu zamieniam hex na dec, robie odp dzialanie matemtyczne (dodawanie lub mnozenie lub cos innego). Dostaje wynik w DEC, i nie wiem jak to wyswietlnic w hexie. Uzywam nastepujacego kodu:

  1. <?php
  2. $Info1_HEX = hexdec($Info1);
  3. $Info2_HEX = hexdec($Info2);
  4.  
  5. //INFO1 * INFO2
  6. $HardwareKey = bcmul($Info1_HEX, $Info2_HEX);
  7. ?>


W jaki sposob moge skonwertowac. lub wyswietlic liczbe w hexie (0x00000000)?

Dziekuje i pozdrawiam.
Michal
Go to the top of the page
+Quote Post
NuLL
post 7.08.2007, 22:06:23
Post #2





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Tzn ty chcesz zamienic integera na hexa ? smile.gif


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
revyag
post 7.08.2007, 22:13:05
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


dechex" title="Zobacz w manualu PHP" target="_manual
hexdec" title="Zobacz w manualu PHP" target="_manual


--------------------
-------------

------
Go to the top of the page
+Quote Post
Sokal
post 7.08.2007, 22:13:44
Post #4





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 8.02.2007

Ostrzeżenie: (10%)
X----


Po prostu, jak chcesz wyświetlić to, np.:
  1. <?php
  2. echo 0x00000010;
  3. ?>

Z dodawaniem, np. tak samo, nic nie trzeba konwertować ;-)


--------------------
Jabber/E-Mail: dominiksokal[at]gmail.com | GG: #3795571
Go to the top of the page
+Quote Post
Pooligans
post 7.08.2007, 22:14:40
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 7.08.2007

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


Postaram sie napisac jasniej, mam dwa pola gdzie user wpisuje liczbe w hexie.

1)Jako przyklad 0x7845AB1 i 0xDEADBEEF
2) Do tej pory zamnienialem te liczby na dec, bo php nie potrafi mnozyc hexow (?)
3) Wynik otrzymuje w DEC
4) Po przekonwertowaniu w kalkulatorze z dec na hex, powinno sie otrzymac 0x77D093F

Potzrebuje jakis sposob, aby zamienic DEC na HEX w php, zeby nie trzeba bylo wykonywac punktu 4.

Pozdrawiam
Go to the top of the page
+Quote Post
Sokal
post 7.08.2007, 22:16:14
Post #6





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 8.02.2007

Ostrzeżenie: (10%)
X----


PHP potrafi mnożyć hexy ;-)


--------------------
Jabber/E-Mail: dominiksokal[at]gmail.com | GG: #3795571
Go to the top of the page
+Quote Post
Kicok
post 8.08.2007, 22:37:56
Post #7





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Cytat
mam dwa pola gdzie user wpisuje liczbe w hexie.

2) Do tej pory zamnienialem te liczby na dec, bo php nie potrafi mnozyc hexow (?)


Jeśli te dane pobierałeś z formularza, to to nie były żadne liczby, tylko zwykły tekst, np.: "ABC992", który przy konwersji na integer zamieniany był na 0.
Próbowałeś bawić się funkcjami, które podał revyag?


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
Pooligans
post 17.08.2007, 20:01:49
Post #8





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 7.08.2007

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


Witam a wiec zaznajomilem sie z problemem, i teraz mam nastepujacy problem

w inpucie ktos podaje dane:

1 - 45eaff18
2 - 1ee312c2
3 - 2c0e299b

skrypt wykonuje:
1+2*3

$Dec_Info1 = HexDec($Information1);
$Dec_Info2 = HexDec($Information2);
$Dec_Info3 = HexDec($Information3);
$Hex_ID = dechex($Dec_Info1 + $Dec_Info2 * $Dec_Info3);

Wynik tej operacji w php to B6046C80, a w rzeczywistosci powinien byc 0xE wiekszy czyli B6046C8E.

Ma ktos pomysl jak sie tego pozbyc? Czy sa to za duze numery dla php?
Go to the top of the page
+Quote Post
Pooligans
post 25.08.2007, 09:29:51
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 7.08.2007

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


Moze jednak ktos sie skusi i bedzie znal odpowiedz? Dziekuje
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: 12.05.2025 - 07:55