Интересная проблема возникла недавно. Мы натолкнулись на некоторый код, который использует hashCode()
в качестве основного источника для шифрования MD5, но возникает вопрос: будет ли hashCode()
возвращать одно и то же значение для одного и того же объекта на разных виртуальных машинах, разных версиях JDK и операционных системах? Даже если это не гарантировано, изменилось ли оно в какой-то момент до настоящего времени?
РЕДАКТИРОВАТЬ: я действительно имею в виду String.hashCode()
, а не более общий Object.hashCode()
, который, конечно, может быть отменен.