Есть ли алгоритмы преобразвоания строки в хеш из цифр длино около 20 символов?
20 цифр это 64 битное число, берете любые биты, можете перемешивать (xor) а там в зависимости от количества значений хеша.
Берёшь MD5 или любой другой алгоритм, обрезаешь до 20 символов и заменяешь символы A-F на 0-7.
Коллизий будет тем больше, чем короче хэш и меньше используемых символов. И ничего тут не поделаешь, такова математика