2009-12-13 10 views

答えて

40

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}"); 
} 
+1

dfaがいくつかのDFAを提供するのは奇妙で素晴らしいですか? –

+1

いいえ、そうではありません:-) – dfa

+0

答えのregexpは文字列長が40文字を超える文字列を検証します。これは修正する必要があります: '^ [a-fA-F0-9] {40} $' – michaeltintiuc

10

ある場合だけ知っている、私は、ファイルのチェックサムを計算する必要はありませんチェックしますか可能なSHA1ハッシュどんな128ビットシーケンスも可能なMD5ハッシュです。

それらの16進文字列の表記を見ると、sha1は40桁の16進数のようになり、md5は32桁の16進数のように見えます。

+3

したがって、それぞれ40桁と32桁の16進数を確認してください。 – cobbal

+0

Ha;編集中にあなたのコメントを追加しました。 +1 –

+0

この理由が説明されているので、この回答が優れています。 –

0

MD5検証:

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

と削除 " - " 文字列値の。

関連する問題