Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> szyfrowanie danych
jessica99
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Warszawa/Mrozy

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


mam następujący skrypt:
  1. <?php
  2. class SymmetricCrypt
  3. {
  4. // Klucz do szyfrowania i odszyfrowywania
  5. private static $msSecretKey = "SECRECT KEY";
  6. // Wektor inicjalizacji
  7. private static $msHexaIv = "hdu8374hr96128b5d4b4f7b2fe7f7f05";
  8. // Użyj algorytmu szyfrującego Rijndael
  9. private static $msCipherAlgorithm = MCRYPT_RIJNDAEL_128;
  10.  
  11. // Funkcja szyfruje łańcuch otwartego tekstu otrzymany w parametrze
  12. // i zwraca wynik w postaci szesnastkowej
  13. public static function Encrypt($plainString)
  14. {
  15. // spakuj $hexaIV do postaci dwójkowego łańcucha
  16. $binary_iv = pack("H*", SymmetricCrypt::$msHexaIv);
  17. // zaszyfruj $source
  18. $binary_encrypted_string = mcrypt_encrypt(
  19. SymmetricCrypt::$msCipherAlgorithm,
  20. SymmetricCrypt::$msSecretKey,
  21. $plainString,
  22. MCRYPT_MODE_CBC,
  23. $binary_iv);
  24. // Przekształć $binaryEncryptedString na postać szesnastkową
  25. $hexa_encrypted_string = bin2hex($binary_encrypted_string);
  26. return $hexa_encrypted_string;
  27. }
  28.  
  29. // Funkcja odszyfrowuje szesnastkowy łańcuch otrzymany w parametrze
  30. // i zwraca wynik w postaci szesnastkowej
  31. public static function Decrypt($encryptedString)
  32. {
  33. // spakuj $hexaIV do postaci dwójkowego łańcucha
  34. $binary_iv = pack("H*", SymmetricCrypt::$msHexaIv);
  35. // przekształć łańcuch z postaci szesnastkowej na tablicę bajtów
  36. $binary_encrypted_string = pack("H*", $encryptedString);
  37. // Odszyfruj $binaryEncryptedString
  38. $decrypted_string = mcrypt_decrypt(
  39.  SymmetricCrypt::$msCipherAlgorithm,
  40.  SymmetricCrypt::$msSecretKey,
  41.  $binary_encrypted_string,
  42.  MCRYPT_MODE_CBC,
  43.  $binary_iv);
  44. return $decrypted_string;
  45. }
  46. } //koniec klasy
  47. ?>

niestety jest w nim błąd sad.gif
czy mógłby mi kto wskazać ten błąd??
nie ropoznaje funkcji mcrypt_encrypt, rozszerzenia php_mcrypt.dll które jest zainstalowane poprawnie(odkomentowane w php.ini, php_mcrypt.dll jest w windows/system32)

Ten post edytował jessica99 2.08.2007, 15:37:41
Go to the top of the page
+Quote Post
pojas
post
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 31.03.2006

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


Sprawdź czy działa Ci ten przykład z manuala
  1. <?php
  2. $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
  3. $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
  4. $key = "This is a very secret key";
  5. $text = "Meet me at 11 o'clock behind the monument.";
  6. echo strlen($text) . "n";
  7.  
  8. $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
  9. echo strlen($crypttext) . "n";
  10. ?>

Ma zwrócić:
Kod
42
64


Jednak mi zwraca:
Kod
Fatal error: Call to undefined function mcrypt_get_iv_size() in C:\Program Files\xampp\htdocs\test.php on line 2


Jeśli masz podobnie, oznacza to, że bardziej musisz się skupić na oprogramowaniu niż na samym skrypcie...

Ten post edytował pojas 2.08.2007, 16:17:36
Go to the top of the page
+Quote Post
jessica99
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Warszawa/Mrozy

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


Tak, niestety właśnie to mam:( Też właśnie już kombinowałam z tym skryptem z manuala. Sprawdzałam php.ini po kilka razy jest napewno odkodowane, ściągnęłam najnowszaą wersję tgo rozszezrzenia do windows/system32 i nic sad.gif nadal wyskakuje mi błąd.
Go to the top of the page
+Quote Post
Kicok
post
Post #4





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

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


  1. <?php
  2.  
  3.  
  4. ?>



Odpalasz ten skrypt u siebie i:
1. Sprawdzasz, czy załadowane jest rozszerzenie mcrypt (nieco niżej będą szczegóły na temat każdego załadowanego rozszerzenia, poszukaj tam mcrypt)
2. Jeśli nie, to przewijasz okienko na samą górę i sprawdzasz co pisze obok: Loaded Configuration File. To jest właśnie plik php.ini który musisz edytować. Być może średnik usunęłaś w innym pliku ;]


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
jessica99
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 14.12.2006
Skąd: Warszawa/Mrozy

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


Serdeczne dzięki snitch.gif Właśnie to było problemem. php.ini który należało zmodyfikować nie znajdował się ani w windows/system32 ani w /php/.
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 Aktualny czas: 21.08.2025 - 00:04