Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator haszy tablic

Generuj hash (MD5, SHA-1, SHA-256) z tablicy PHP lub danych JSON. Przydatne do cache key, porównywania struktur danych i fingerprintów. Bezpłatnie.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
134 znaków
Ustaw parametry i kliknij „Przetwórz”, aby zobaczyć wynik.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator haszy tablic PHP – fingerprint struktury danych

Porównywanie lub cache'owanie złożonych tablic PHP wymaga tworzenia deterministycznych kluczy. Narzędzie generuje hash z tablicy PHP (serialize + hash) lub JSON, co pozwala na szybkie porównywanie struktur bez pełnej iteracji.

hash tablicy PHP md5 tablica PHP serialize hash PHP fingerprint danych PHP

Metody haszowania tablic w PHP

serialize() + hash(): serialize($arr) daje deterministyczny string reprezentacji tablicy. md5(serialize($arr)): szybki hash, 32 hex. sha1(serialize($arr)): 40 hex. hash("sha256", serialize($arr)): 64 hex. json_encode() + hash(): alternatywna serializacja (nie obsługuje zasobów/obiektów).

serialize() vs json_encode()

serialize(): natywne PHP, obsługuje obiekty (klasy), zasoby (częściowo), typy ścisłe. json_encode(): JSON-kompatybilny, przenośny (inne języki), wolniejszy dla zagnieżdżonych struktur. Dla prostych tablic asocjacyjnych: json_encode() jest porównywalny. Dla obiektów z metodami: serialize() jedyna opcja.

Kolejność kluczy a deterministyczność

Problem: ["b"=>2,"a"=>1] vs ["a"=>1,"b"=>2] mają różne serialize() ale logicznie identyczne. Rozwiązanie: ksort() rekurencyjny przed serializacją. Funkcja array_hash_sorted: function array_hash($a){ksort($a);foreach($a as &$v)if(is_array($v))$v=array_hash($v);return md5(serialize($a));}.

Zastosowania w aplikacjach

Cache key z parametrów zapytania: $key="sql:".array_hash($params). Wykrywanie zmian konfiguracji: porównaj hash pliku config z poprzednim. Etag HTTP: hash tablicy z danymi = wartość nagłówka ETag (cache validation). Duplikaty: porównaj hashe zamiast deep-equal.

Najczęstsze pytania

Czy MD5 jest bezpieczny do haszowania tablic?

Dla celów cache i porównywania danych – tak. MD5 jest wystarczający gdy nie chodzi o bezpieczeństwo kryptograficzne. Dla haseł: NIGDY – używaj password_hash() z bcrypt/argon2. MD5 jest łatwy do odwrócenia dla znanych danych (rainbow tables).

Jak porównać dwie tablice PHP bez kolejności kluczy?

Prosta równość: $a == $b (PHP sprawdza wartości, nie kolejność kluczy dla asocjacyjnych). Głęboka równość: funkcja rekurencyjna ksort + serialize. Biblioteka: symfony/property-access lub twig/twig. PHP 8.1+: array_is_list() dla list (numerycznych).

Jak generować ETag HTTP z danych?

$data = fetchFromDB(); $etag = array_hash($data). header("ETag: \"$etag\""); if ($_SERVER["HTTP_IF_NONE_MATCH"] === $etag) { http_response_code(304); exit; }. ETag pozwala przeglądniom cachować zasoby i sprawdzać czy się zmieniły bez pobierania całości.

Co to jest cache key i jak go konstruować?

Cache key: unikalny identyfikator dla cachowalnej wartości. Konstruowanie: "prefix:version:hash_params". Przykład: "user:v2:".md5(serialize($queryParams)). Redis: SET $key $value EX 3600. Memcached: $mc->set($key, $value, 3600). Narzędzie generuje hash gotowy do użycia jako klucz.

Czy serialize() jest bezpieczne do deserializacji?

unserialize() z niezaufanych danych = krytyczna luka bezpieczeństwa (PHP object injection, RCE). Nigdy nie deserializuj danych od użytkownika! Dla bezpiecznej serializacji: json_encode/json_decode (tylko dane, nie obiekty PHP). PHP 7+: unserialize($data, ["allowed_classes" => false]) ogranicza typy.

Powiązane narzedzia: generator testowego JSON API, walidator JSON i formater payloadow API.

Zobacz też — powiązane narzędzia

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!