Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][Mcrypt] Odwrotność bin2hex
pyro
post
Post #1





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Hello.

Czy istnieje jakaś odwrotność funkcji bin2hex? Hashy generowanych przez szyfrowanie poprzez mcrypt nie da się kopiować, a jest mi to niezbędne. Zamieniam hash bin2hex'em, jednak jak to potem zamienic spowrotem do postaci bin? Potrzebne mi to do odszyfrowania frazy.

A może istnieje inny sposób na przekonwertowanie hashy mcrypt'a do kopiowalnej postaci, tak, aby ożna ją było zamienić spowrotem na postać bin?

Czekam na odpowiedź.

Pozdro.
Go to the top of the page
+Quote Post
scanner
post
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Może hexdec" title="Zobacz w manualu PHP" target="_manual jak sugerują w komentarzach do bin2hex" title="Zobacz w manualu PHP" target="_manual?
Go to the top of the page
+Quote Post
pyro
post
Post #3





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Czytałem, ale przy deszyfracji powstaje inna postać bin
Go to the top of the page
+Quote Post
scanner
post
Post #4





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




NIe mam w tej chwili czasu na sprawdzanie, ale skoro masz jakieś kody gotowe, pokaż je - może to tylko kwestia interpretacji wyniku?
Go to the top of the page
+Quote Post
pyro
post
Post #5





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


pokaze tylko funkcję szyfrującą i deszyfrującą, reszta raczej niepotrzebna:

  1. <?php
  2. function szyfruj($sl, $kl, $al, $type)
  3. {
  4. $al = substr($al, 7);
  5. $al = strtolower($al); 
  6. $td = @mcrypt_module_open($al, '', $type, '');
  7. if(!$td)
  8. {
  9. return false;
  10. }
  11. $iv_size = mcrypt_enc_get_iv_size($td);
  12. $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
  13.  
  14. mcrypt_generic_init($td, $kl, $iv);
  15. $zaszyfrowany = mcrypt_generic($td, $sl);
  16. mcrypt_module_close($td);
  17. return bin2hex($zaszyfrowany);
  18. }
  19.  
  20.  
  21. function rozszyfruj($sl, $kl, $al, $type)
  22. {
  23. $al = substr($al, 7);
  24. $al = strtolower($al); 
  25. $td = @mcrypt_module_open($al, '', $type, '');
  26. if(!$td)
  27. {
  28. return false;
  29. }
  30. $iv_size = mcrypt_enc_get_iv_size($td);
  31. $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
  32.  
  33. mcrypt_generic_init($td, $kl, $iv);
  34. $rozszyfrowany = mdecrypt_generic($td, $sl);
  35. mcrypt_module_close($td);
  36.  
  37. function hex2bin($data) 
  38. { 
  39. $len = strlen($data); 
  40. return pack("H" . $len, $data); 
  41. } 
  42.  
  43. return hex2bin($rozszyfrowany);
  44. }
  45. ?>





jakieś pomysły?

Ten post edytował pyro 23.05.2008, 17:22:59
Go to the top of the page
+Quote Post
scanner
post
Post #6





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Bądź tak miły i zamiast co godznię edytować posta, wklej kawałek kodu, który wykorzystuje powyższe - jako test. i zamieść wyniki jakie otrzymujesz dla jakiś demo-danych. Nie każdy ma czas wgryzać się w kod funkcji, której nawet opisu parametrów nie podałeś w komentarzach.
Go to the top of the page
+Quote Post
tomeksobczak
post
Post #7





Grupa: Zarejestrowani
Postów: 139
Pomógł: 10
Dołączył: 6.07.2007
Skąd: opole

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


z tego co widzę to wygląda to tak:

dane -> crypt -> bin2hex -> dane zaszyfrowane -> decrypt -> hex2bin -> dane

a z logicznego punktu widzenia powinno byc

dane -> crypt -> bin2hex -> dane zaszyfrowane -> hex2bin -> decrypt -> dane

ale może coś źle rozumię w tej kwestii
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.12.2025 - 18:19