Я не хочу вычислять контрольную сумму файла, только знать, является ли данная строка допустимой контрольной суммой
Верификатор 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.
Если вы смотрите на их шестнадцатеричные строковые представления, то sha1 будет выглядеть как 40 шестнадцатеричных цифр, а md5 будет выглядеть как 32 шестнадцатеричных цифры.