であればどのように私は与えられた文字列がどれ160ビットのシーケンスがある有効なチェックサム文字列が有効なMD5またはSHA1チェックサム文字列
答えて
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}");
}
ある場合だけ知っている、私は、ファイルのチェックサムを計算する必要はありませんチェックしますか可能なSHA1ハッシュどんな128ビットシーケンスも可能なMD5ハッシュです。
それらの16進文字列の表記を見ると、sha1は40桁の16進数のようになり、md5は32桁の16進数のように見えます。
したがって、それぞれ40桁と32桁の16進数を確認してください。 – cobbal
Ha;編集中にあなたのコメントを追加しました。 +1 –
この理由が説明されているので、この回答が優れています。 –
MD5検証:
public boolean isValidMD5(String s) {
return s.matches("[a-fA-F0-9]{32}");}
と削除 " - " 文字列値の。
- 1. MD5チェックサムの最も有効な部分文字列
- 2. 文字列内の有効な文字
- 3. 文字列のチェックサム
- 4. 有効なUnicode文字列
- 5. 有効なJSON文字列
- 6. UTF-8文字列のチェックサム
- 7. ParseExact - 文字列が有効なDateTimeの
- 8. MD5文字列の比較
- 9. MD5文字列からバック
- 10. 文字列を有効な日付時刻文字列に変換したい
- 11. Laravel文字列が有効なタイムスタンプ文字列かどうかを調べる
- 12. 有効な文字列の置換
- 13. 文字列の単純なMD5ハッシュ
- 14. 無効な文字のチェック文字列
- 15. 文字列が2文字に満たない文字列
- 16. 16進数の文字列Pythonのチェックサム
- 17. (文字列または文字列または文字列)が変数にない場合
- 18. ベース64文字配列または文字列azureサーバーの長さが無効
- 19. 文字列が文字列
- 20. 警告:無効な文字列オフセットが '有効'
- 21. C#大文字と小文字の文字列または文字列
- 22. ジャクソンマッピング文字列または単純な文字列のリスト
- 23. パス文字列から現在のOS /フィルタ無効な文字の有効なパス文字を取得
- 24. 無効な文字列
- 25. 文字列のSHA1は常にASCII文字を返しますか?
- 26. 文字列、数字またはトークンでチェックサム検証を実装します
- 27. MYSQL:無効なJSONテキスト: "無効なエスケープ文字(文字列内)"
- 28. SHA1ハッシュ文字列を32ビット文字列に切り捨てる方法
- 29. CakePHPのMD5とケーキのセッション文字列
- 30. Retreive空文字列無効な文字列からのヌルフォームデータ
dfaがいくつかのDFAを提供するのは奇妙で素晴らしいですか? –
いいえ、そうではありません:-) – dfa
答えのregexpは文字列長が40文字を超える文字列を検証します。これは修正する必要があります: '^ [a-fA-F0-9] {40} $' – michaeltintiuc