文字列が有効な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}");}

と削除 " - " 文字列値の

の正規表現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