Задать вопрос
65536
@65536

Как максимально быстро создать хэш, полностью идентифицирующий массив?

Использую витающий в воздухе вариант

function jmd5($input)
{
    return md5(json_encode($input));
}


Что-то подсказывает, что есть и более низкоуровневое решение. Часто используется в километровых циклах и заметно замедляет.
  • Вопрос задан
  • 174 просмотра
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Может взять и попробовать xxHash?
Name 		Speed 		Quality 	Author
xxHash 		5.4 GB/s 	10 		Y.C.
MurmurHash 3a 	2.7 GB/s 	10 		Austin Appleby
SBox 		1.4 GB/s 	9 		Bret Mulvey
Lookup3 	1.2 GB/s 	9 		Bob Jenkins
CityHash64 	1.05 GB/s 	10 		Pike & Alakuijala
FNV 		0.55 GB/s 	5 		Fowler, Noll, Vo
CRC32 		0.43 GB/s 	9 	
MD5-32 		0.33 GB/s 	10 		Ronald L.Rivest
SHA1-32 	0.28 GB/s 	10
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Полностью идентифицирующий - никак, потому что при любом хешировании могут возникать коллизии.

Конечно, есть более быстрые алгоритмы, чем md5, но чем короче хеш, тем больше вероятность коллизий.
(сравнительные тесты 1, 2, 3)

Хинт: serialize разве не быстрее, чем json_encode?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы