Для расшифровки алгоритма, по которому формируется 20-символьная строка для названия файла, необходимо знать конкретные детали этого алгоритма. Однако, без этой информации невозможно точно сказать, как его расшифровать.
Чтобы создать алгоритм хэширования, который будет генерировать хэш из 20 символов, можно использовать различные хэш-функции, такие как SHA1 или MD5. Они обычно генерируют хэш фиксированной длины, но вы можете взять только первые 20 символов полученного хэша.
При использовании порядкового номера или даты и времени как исходных данных для хэширования, обратите внимание, что это может привести к определенным проблемам. Например, использование только порядкового номера может привести к предсказуемому хэшу, если алгоритм хэширования не является надежным. Использование даты и времени также может быть предсказуемым, особенно если злоумышленник знает алгоритм или имеет доступ к системным часам.
Относительно взлома фото-хостинга в плане подбора хэша и доступа к чужим изображениям, это зависит от многих факторов, включая сложность алгоритма хэширования, размер пространства хэшей (количество возможных комбинаций), доступность равномерного распределения хэшей и способ обработки хэшей на сервере.
Если алгоритм хэширования известен или может быть угадан, то злоумышленник может использовать атаку "brute force" (перебор), пытаясь генерировать и проверять различные строки до тех пор, пока не будет найден совпадающий хэш. Сложность этой атаки зависит от размера пространства хэшей и используемого алгоритма.
Для улучшения безопасности и уменьшения риска взлома, рекомендуется использовать хорошо проверенные и надежные алгоритмы хэширования, использовать достаточно длинные хэши (более 20 символов) и применять дополнительные техники, такие как "соли" (salt) или итеративное хэширование.