Мне нужен алгоритм хеширования, который выводит буквенно-цифровую строку длиной не более 20 символов. Под «буквенно-цифровым» я подразумеваю [a -zA-Z0-9]
.
Входными данными являются UUID в канонической форме (пример 550e8400-e29b-41d4-a716-446655440000
).
В качестве альтернативы есть способ преобразовать хэш SHA1 или MD5 к строке с этими ограничениями?
Спасибо.
РЕДАКТИРОВАТЬ
Не требует криптографической защиты. Столкновения делают данные неточными, но если они случаются спорадически, я могу с этим жить.
РЕДАКТИРОВАТЬ 2
Я не знаю, приведет ли усечение MD5 или SHA1 слишком часто к коллизиям. Теперь мне интересно, лучше ли усечь до 20 символов значение MD5 или значение SHA1.