Зачем делать из названия картинок хеш?
а шо делать если у нескольких картинок одинаковое имя?
Таким образом можно решить как минимум 2 проблемы:
1) убираем недопустимые символы в названии картинки т.е. заливаем файл "картин./ка\*123.jpg" которая может не открыться в браузере/не сохраниться на сервере итп и переименовываем в "dghrty45y435gfrte.jpg", что обработается без проблем
2) решаем проблему большого кол-ва файлов в одной папке - при 10-100 тысячах картинок в одной папке сервер может подтормаживать перебирая их. Раскидывая файлы по папкам состоящим из части хеша мы эту проблему решаем получив тысячу папок вида /fgh/rty/4jd/ с сотней картинок с именами начинающимися на fghrty4jd что гораздо проще в обработке.