![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 8.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam zaszyfrowane dane w bazie (za pomocą mcrypt). Dane do tej bazy wstawiałem poprzez skrypt PHP, w której była taka funkcja:
Następnie probuję odczytać te dane w innym skrypcie PHP, który korzysta z takiej funkcji:
Mam ustawione $key. Nie ustawiam $iv bo nie wiem co to jest. Jakieś 70% danych deszyfruje się ok. W pozostałych mam jednak dziwne znaki, np.: ��r��� Baza ma kodowanie utf8. W sktypcie odczytującym (deszyfrującym) mam ustawienie: Kodowanie strony też ustawione na utf-8. Uprzejmie proszę o pomoc. Z góry dziękuję. Pozdr Piotr |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Wywal tego trima, który może usunąć Ci część wartościowych danych.
2. Dlaczego korzystasz z funkcji, której użycie jest oficjalnie odradzane? http://php.net/manual/en/function.mcrypt-cbc.php |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 8.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wywalenie trima pomogło. Deszyfruje poprawnie.
Dzięki za pomoc. Jakiej funkcji powinienem użyć w takim razie? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Tak ciężko kliknąć w linka podanego na tacy?
Cytat This function should not be used anymore, see mcrypt_generic() and mdecrypt_generic() for replacements.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 8.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
tak, teraz zauważyłem.
Przepraszam, ze idiotyczne pytanie. Skorzystałem z przykładu zamieszczonego na powyższych stronach:
Jednak tym razem też dostaję krzaki: �[p�q�H����� Co robić? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A mi Twój kod pokazuje coś takiego
Kod encrypted : ë[pÈq“HãˆÝÔã– decrypted : my secret text Podejrzewam, że Twoja przeglądarka ustawiła sobie domyślne kodowanie znaków inne niż UTF-8. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 8.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam ustawione domyĹlnie na UTF-8
Dla testu zmieniĹem ustawienie na nasze ISO Ĺrodkowoeuropejskie i krzaki zniknÄĹy (pojawiĹo siÄ to, co tobie). ZmieniĹem wiÄc kodowanie pliku php na ISO-8859-2 w nadziei, Ĺźe zadziaĹa przy domyĹlnych ustawieniach przeglÄ darki ale to nie pomogĹo. Co zrobiÄ, aby wyĹwietlaĹo siÄ to poprawnie przy domyĹlnym ustawieniu przeglÄ darki na UTF? Z gĂłry dziÄkujÄ za pomoc. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Kolego, ale co Cię obchodzi jakie krzaki otrzymasz po zakodowaniu? To mogą być jakieś binarne dane, które przeglądarka próbuje zinterpretować jako znaki. W zależności od rodzaju kodowania, przeglądarka może to wyświetlać jako znaki typu ã bądź �. Dla Ciebie najważniejsze jest, czy po użyciu tego ciągu jesteś w stanie odkodować ciąg wejściowy.
PS. nie dość, że u siebie masz krzaczki, to jeszcze i na forum popsułeś polskie znaki ![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 8.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czyli jeżeli chce te zaszyfrowane dane wstawić do bazy to pola w bazie nie mogą być varchar/test tylko blob, tak?
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Masz dwie opcje:
1. Skorzystać z jakiegoś typu kolumny przeznaczonego na dane binarne, np. wspomniany przez Ciebie BLOB. 2. Potraktować dane base64_encode po zaszyfrowaniu i base64_decode przed ich odszyfrowaniem. Pierwsze rozwiązanie może być nieco uciążliwe w przypadku gdy będziesz chciał te dane gdzieś przesyłać/przechowywać w przypadku gdzie środowisko jest nastawione do pracy z danymi tekstowymi, nie binarnymi. Drugie generuje nieco obciążenia dla maszyny i dysku/sieci (związane jest to z koniecznością za(od)kodowania base64 oraz zwiększonym rozmiarem (w bajtach) danych zakodowanych base64). |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 14:07 |