Я не думаю, что такой хеш существует независимо от языка программирования.
Вот цитата со страницы википедии по хэш-функции :
A hash function is any function that can be used to map data of arbitrary size to data of fixed size.
Это означает, что у вас есть фиксированный набор значений, например, хэш длиной 6 символов может хранить 16^6
различных значений.Однако вы можете создать хеш-значение любой строки.Таким образом, хеш-функция отображает потенциально бесконечные различные значения в фиксированные наборы значений.Следовательно будут столкновения.Таким образом, вы не можете определить только по хеш-значению, которое было правильным исходным значением.
Упрощенный пример из воображаемой хеш-функции: John
отображается на abc
.Jane
отображается на ghi
.Doe
также отображается на abc
.Итак, когда вы видите abc
как хешированное значение, откуда это взялось?Это было John
?Это было Doe
?