Как я проверяю, является ли строка допустимым md5 или sha1 строкой контрольной суммы

Я не хочу вычислять контрольную сумму файла, только знать, является ли данная строка допустимой контрольной суммой

20
задан yossis 13 December 2009 в 14:45
поделиться

2 ответа

Верификатор 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}$");
}
46
ответ дан 29 November 2019 в 23:00
поделиться

Любая 160-битная последовательность является возможным хешем SHA1. Любая 128-битная последовательность является возможным хешем MD5.

Если вы смотрите на их шестнадцатеричные строковые представления, то sha1 будет выглядеть как 40 шестнадцатеричных цифр, а md5 будет выглядеть как 32 шестнадцатеричных цифры.

11
ответ дан 29 November 2019 в 23:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: