2013-07-17 6 views

답변

2

이 (당신의 MD5는 32 비트 길이 아니라 미안 128 (32 진수 문자 * 4 비트/문자)하지만 일반 관련 아니에요 ...)

이 핀 해시에 포함 된 128 비트의 정보를 저장하지 않습니다, 그래서 당신은 그것의 하위 부분을 가져 가야합니다.

해시가 표준 자바 문자열이라고 가정합니다. 당신이 핀을 필요로하는 경우

는 6 개 자리는 int로서 :

int pin = hash.hashCode() % 1e6; 

나는이 방법을 준수하는 경우 확인할 수 있도록 당신의 "보안"exigences : 그것이 도움이되기를 바랍니다!

+0

왜 % 1e7입니까? 나는 같은 문제가 있지만 그 해시에서 특정 6 자리를 생산해야 ... 당신이 도와 줄 수 있니? – arniotaki

+0

값 % 1e7은 모듈의 나머지 부분을 10'000'000만큼 반환합니다. 최대 결과는 9'999'999입니다. 6 자리가 포함 된 핀 번호 (사람이 읽을 수있는 고전적인 정수)를 생성하려면 1e6 모듈을 사용하십시오 –

관련 문제