Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][Mcrypt] Odwrotność bin2hex
Forum PHP.pl > Forum > PHP
pyro
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.
scanner
Może hexdec" title="Zobacz w manualu PHP" target="_manual jak sugerują w komentarzach do bin2hex" title="Zobacz w manualu PHP" target="_manual?
pyro
Czytałem, ale przy deszyfracji powstaje inna postać bin
scanner
NIe mam w tej chwili czasu na sprawdzanie, ale skoro masz jakieś kody gotowe, pokaż je - może to tylko kwestia interpretacji wyniku?
pyro
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?
scanner
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.
tomeksobczak
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
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.