문자열이 유효한 MD5인지 SHA1 체크섬 문자열인지 확인하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/1896715

  •  19-09-2019
  •  | 
  •  

문제

주어진 문자열이 유효한 체크섬인지 확인하기 위해 파일의 체크섬을 계산하고 싶지 않습니다.

도움이 되었습니까?

해결책

SHA1 검증 자 :

public boolean isValidSHA1(String s) {
    return s.matches("^[a-fA-F0-9]{40}$");
}

MD5 검증 자 :

public boolean isValidMD5(String s) {
    return s.matches("^[a-fA-F0-9]{32}$");
}

다른 팁

모든 160 비트 시퀀스는 가능한 SHA1 해시입니다. 임의의 128 비트 시퀀스는 가능한 MD5 해시입니다.

당신이 그들의 16 진 문자열 표현을보고 있다면, SHA1은 40 개의 16 진수 숫자처럼 보이며 MD5는 32 개의 16 진수 숫자처럼 보입니다.

MD5 검증 자 :

public boolean isValidMD5(String s) {
return s.matches("[a-fA-F0-9]{32}");}

문자열 값의 "-"를 제거하십시오.

Regexp SHA-1

public static final String SHA_1 = "^([0-9A-Fa-f]{2}[:]){19}([0-9A-Fa-f]{2})$";

public boolean isValidSHA1(String s) {
    return s.matches(SHA_1);
}

boolean isValidSHA1 = isValidSHA1("12:45:54:3A:99:24:52:EA...");
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top