MD5, как правило, считается небезопасным, если коллизия хешей является серьезной проблемой. SHA1 также больше не считается приемлемым правительством США. is было соревнование в процессе поиска алгоритма замены хэша, но на данный момент рекомендуется использовать семейство SHA2 - SHA-256, SHA-384 или SHA-512 , [ Обновление: 2012-10-02 NIST выбрал SHA-3 в качестве алгоритма Keccak . ]
Вы можете попытаться создать свой собственный хэш - он, вероятно, будет не так хорош, как MD5, и «безопасность через неизвестность» также не рекомендуется.
Если вам нужна безопасность, используйте хэш с несколькими алгоритмами хэширования. Возможность одновременного создания файлов, имеющих коллизии хэшей, с использованием ряда алгоритмов, чрезвычайно маловероятна. [И в свете комментариев позвольте мне прояснить: я имею в виду публиковать значения SHA-256 и Whirlpool для файла - не объединяя алгоритмы хеширования для создания одного значения, но используя отдельные алгоритмы для создания отдельных значений. Как правило, поврежденный файл не соответствует ни одному из алгоритмов; если, возможно, кому-то удалось создать значение коллизии с использованием одного алгоритма, вероятность создания второго коллизии в одном из других алгоритмов незначительна.]
Public TimeStamp использует массив алгоритмов. См., Например, sqlcmd-86.00.tgz для иллюстрации.