Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Mcrypt-szyfrowanie bazy MySql
Cliassi
post 19.05.2012, 15:17:55
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

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


Witam, ktoś wie jak zaszyfrować jakieś pole w bazie danych np. numer karty kredytowej a potem odszyfrować za pomocą klucza Mcryptem? nie odsyłajcie do manuala bo tam nie ma przykładu z bazą a gdy sprobujemy zapisac wynik szyfrowania do bazy to potem nie odszyfrowuje w całości
Go to the top of the page
+Quote Post
greycoffey
post 19.05.2012, 21:44:08
Post #2





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

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


Pokaż kod, a może powiemy Ci dlaczego ucina tekst. Do tego strukturę bazy - kodowanie zwiększa objętość danych o ~30% (mniej więcej), więc może zamieszczasz dane w zbyt małym polu?
Go to the top of the page
+Quote Post
Cliassi
post 20.05.2012, 20:00:45
Post #3





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

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


nie mam przykładu poniewaz do konca nie udalo mi sie tego zrobić. Jeśli ktoś ma działający skrypt z zapisem do bazy to chętnie bym go sobie przerobił.
Go to the top of the page
+Quote Post
lukaskolista
post 22.05.2012, 07:22:18
Post #4





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


Cytat
nie odsyłajcie do manuala bo tam nie ma przykładu z bazą
mimo wszystko http://php.net/manual/en/book.mcrypt.php. Nie wiem co za problem dodac dane zaszyfrowane po stronie skryptu php do bazy, na prawde nie rozumiem.

Cytat
a gdy sprobujemy zapisac wynik szyfrowania do bazy to potem nie odszyfrowuje w całości
a moze tak odpowiedni typ pola i kodowanie - wtedy na pewno odszyfruje

Ten post edytował lukaskolista 22.05.2012, 07:23:20
Go to the top of the page
+Quote Post
Cliassi
post 23.05.2012, 21:29:56
Post #5





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

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


a mozesz sprawdzic czy działa Ci ten kod:


  1. $klucz_szyfrujacy="DyUi942i2274H45PqTiokO6A";
  2.  
  3. $nazwa="bWhTKYlr2e/cx8ZzRZ1n9Q==";
  4.  
  5. $nazwa = decrypt($nazwa, $klucz_szyfrujacy);
  6.  
  7. echo"$nazwa";


decrypt bierzesz z przykładu z manulala
Go to the top of the page
+Quote Post
lukaskolista
post 24.05.2012, 08:58:09
Post #6





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


Cytat
string mcrypt_decrypt ( string $cipher , string $key , string $data , string $mode [, string $iv ] )
Skad mam wiedziec, jakiego algorytmu uzywasz i w jakim trybie to wykonujesz? Na 100% robisz to po prostu zle, dlatego nie dziala. Wrzuc caly kod to zobaczemy co da sie zrobic
Go to the top of the page
+Quote Post
Tadek888
post 25.05.2012, 22:23:12
Post #7





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 21.04.2009
Skąd: Białogóra

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


W przykładach z manuala jest mało akurat o Mcrypcie za to jak zawsze niezawodne są komentarze czytelników.
Tam znajdujesz gotowy skrypt - jeśli nadal nie czaisz - patrzysz na manual jeszcze raz.

Mi w taki sposób się udało i śmiga smile.gif
Go to the top of the page
+Quote Post
Cliassi
post 28.05.2012, 22:13:47
Post #8





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

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


A moglbys podaćkod jak to zrobiłeś ? bo kompletnie nie wiem jak to zaszyfrować sad.gif i gdzie najlepiej trzymać klucz ? na innym serwerze ?biggrin.gif
Go to the top of the page
+Quote Post
regen1992
post 29.05.2012, 05:11:10
Post #9





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 29.05.2012

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


Jeśli ktoś ma działający skrypt z zapisem do bazy to chętnie bym go sobie przerobił.
Go to the top of the page
+Quote Post
Cliassi
post 30.05.2012, 12:03:02
Post #10





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

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


Ogolem jak probuje odszyfrować kod z bazy funkcją z manuala to wyskakuje takie coś:

  1. Ek[szczykiewicz@łękołody.pl
Go to the top of the page
+Quote Post
greycoffey
post 30.05.2012, 13:54:08
Post #11





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

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


Nie chcesz podać kodu, nie dziw się, że nikt nie pomoże.
Go to the top of the page
+Quote Post
Cliassi
post 30.05.2012, 13:56:58
Post #12





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

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


  1. html>
  2. <head>
  3.  
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. </head>
  6. <body>
  7. <?php
  8. mysqli_set_charset($dbc, "utf8");
  9. require_once('includes/dbc_connect.php');
  10.  
  11. $q=" SELECT * FROM users WHERE id='3'";
  12. $r=@mysqli_query($dbc,$q);
  13. $row=mysqli_fetch_assoc($r);
  14. $dece=$row['email'];
  15.  
  16.  
  17.  
  18. $stuff="$dece";
  19. $key="XiTo74dOO09N48YeUmuvbL0E";
  20.  
  21. function nl() {
  22. echo "<br/> \n";
  23. }
  24. $iv = mcrypt_create_iv (mcrypt_get_block_size (MCRYPT_TripleDES, MCRYPT_MODE_CBC), MCRYPT_DEV_RANDOM);
  25.  
  26. // Encrypting
  27. function encrypt($string, $key) {
  28. $enc = "";
  29. global $iv;
  30. $enc=mcrypt_cbc (MCRYPT_TripleDES, $key, $string, MCRYPT_ENCRYPT, $iv);
  31.  
  32. return base64_encode($enc);
  33. }
  34.  
  35. // Decrypting
  36. function decrypt($string, $key) {
  37. $dec = "";
  38. $string = trim(base64_decode($string));
  39. global $iv;
  40. $dec = mcrypt_cbc (MCRYPT_TripleDES, $key, $string, MCRYPT_DECRYPT, $iv);
  41. return $dec;
  42. }
  43.  
  44. //$encrypted = encrypt($stuff, $key);
  45. $decrypted = decrypt($stuff, $key);
  46.  
  47. //echo "Encrypted is ".$encrypted . nl();
  48. echo "Decrypted is ".$decrypted . nl();
  49.  
  50.  
  51.  
  52. //$q=" INSERT INTO users (email) VALUES ('$encrypted')";
  53. //$r=@mysqli_query($dbc,$q);
  54. ?>
  55. </body>
  56. </html>
  57.  
  58.  
Go to the top of the page
+Quote Post
darko
post 30.05.2012, 14:12:35
Post #13





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Hasło do 255 znaków przechowuj w polu typu TINYBLOB, wtedy nie będzie problemów z rozszyfrowaniem, a tutaj masz listę funkcji szyfrujących, resztę już Ci opisano wyżej.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Cliassi
post 30.05.2012, 14:44:35
Post #14





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

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


nadal są krzaki na początku sad.gif

Chciałem użyć funkcji AES ale na wywalilo mi ze nie ma takiej funkcji
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: 8.05.2025 - 04:55