2014-09-03 3 views
6

문자열에서 유효한 UUID를 생성하는 방법은 무엇입니까? 문자열만으로는 내가 찾는 것이 아닙니다. 오히려, 어떤 문자열을 유효한 UUID로 변환하는 해시 함수와 같은 것을 찾고 있습니다.자바에서 문자열을 UUID로 변환하는 가장 쉬운 방법

+1

고유성과 관련된 요구 사항은 무엇입니까? 당신은 * 단지'int'를 얻기 위해'hashCode'를 호출 할 수 있습니다. 그런 다음 그것을 기반으로 UUID를 생성 할 수 있습니다.하지만 분명히 필요한 것보다 훨씬 많은 충돌을 얻을 수 있습니다. –

+2

UUID와 관련성이있는 문자열에는 무엇이 있습니까? 새로운 UUID를 생성하고 어딘가에 매핑 테이블을 유지할 수도 있습니다. 또는 가능하면 [UUID.nameUUIDFromBytes (string.getBytes())'] (http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html#nameUUIDFromBytes (byte [])) . – EJP

+0

이것은 XY 문제처럼 보입니다. – Raedwald

답변

7

Java 핵심 라이브러리에는 java.util.UUID.nameUUIDFromBytes(byte[])이 있습니다.

매우 부러진 해시 함수 인 MD5를 기반으로하는 UUID 3이기 때문에 권장하지 않습니다. SHA-1을 기반으로하는 UUID 5 구현을 찾는 것이 더 낫습니다 (더 좋지만 sort of broken도 좋습니다).

+0

그게 훨씬 낫 네요. 수동으로하는 것이 좋습니다. – boky

+0

js에 해당하는 항목이 있습니까? – Abhijeet

+0

@Abhijeet 나는 모른다. 이 질문을 별도의 질문으로 할 수도 있습니다. –

관련 문제