文字列を復号化せずに別の文字列をsha256表現していることを検証したいと思います。これは可能ですか?java - 文字列がsha256ハッシュであることを確認する方法はありますか?
答えて
sha-256値は通常、JavaでString
またはbyte[]
として表す256ビット(32バイト)の値です。
値自体は意味がありません。特定のString
がハッシュであるかどうかを知りたい場合は、32バイトの数値は無限の未知のプレーンテキストのハッシュです。しかし、それは "32バイトの数字が数字であることをどのように知るのですか?"と尋ねるようなものです。あなたはどこにも行きません。
プレーンテキストとペアにしてプレーンテキストから計算されたハッシュと比較して、一致することを検証できる場合にのみ便利です。
"* 32バイトの数字は無限の未知の平文のハッシュです*" =>本当に2^32の可能なSHA256値がありますか? – assylias
http://crypto.stackexchange.com/questions/2670/is-every-output-of-a-hash-function-posable – assylias
@assylias:おそらく '2 ^(32 * 8)'の可能なSHA256値を意味しますが、あなたの質問には答えがありません。それは関係するハッシュ関数に固有のものです。任意の可能な長さの無限の可能性のあるプレーンテキストを仮定すると、関数自体が適切であれば、ハッシュ関数のコドメインを完成させることができる。それを証明することは別の話です。 – Jack
あなたができることは、他の文字列をハッシュし、これらの2つの文字列を互いに比較することだと思います。
これはあなたを助けてくれるのではないでしょうか。しかし、私はパスワード挑戦を打ち破るためにレインボーテーブルを作成するときによく使われることを読んでいます。
編集:ああ、これはまた、WebページiircにログインするときにPHPのパスワードを比較する方法です。
少なくとも私は大学のためにこれをやらなければならなかった。
特定のルールで文字列を解析し、その文字列をshaハッシュとして修飾しようとすることができます。次の投稿はあなたの質問How to determine whether a string is a hashに答えるかもしれません。
はい、いいえ。
文字列が非常に簡単に16進数であることをテストできます。統計的に賢明な数字と文字が含まれていることをテストできます。これはいくつかの共通の非sha256文字列を除外します。
しかし、誰かがsha256のように見えるように設計されたランダムな文字列を作成した場合、私はそれを実際のものから数学的なテストで区別することはできないと思います。アルゴリズムはそれに対して堅牢に設計されています。
- 1. uri文字列が有効であることを確認する方法
- 2. 接続文字列がローカルマシン用であることを確認する方法
- 3. 文字列が正の整数であるかどうかを確認する方法はありますか?
- 4. Java SHA256ハッシュはvb.netと同じではありません
- 5. SHA256キーのハッシュ文字列
- 6. ある文字列が他の文字列にあるかどうかを確認する方法
- 7. 数字が正であることを確認する良い方法はありますか?
- 8. Javaで文字列の不変のペアの内容を確認する方法はありますか?
- 9. vb.netには長い文字列をハッシュする方法があります
- 10. 文字列の最後の文字をbashで確認する方法はありますか?
- 11. TypeScriptの機能を使って、文字列内の文字が大文字であるかどうかを確認する方法はありますか?
- 12. JavaScript/NodeでSHA256ハッシュとBase64文字列エンコーディングを計算する方法
- 13. 文字列がGroovyのIPであるかどうかを確認する方法はありますか?与えられた文字列から
- 14. 文字列の最初の文字がswitch文で大文字であることを確認します
- 15. 2つの文字列がO(n)時間にお互いの順列であるかどうかを確認する方法はありますか? (java)
- 16. スラッシュ/が文字列内にあるかどうかを確認する方法
- 17. 文字列内の特定の文字を確認する方法はありますか?
- 18. 配列変数(unsigned int *)がメモリ上にあることを確認する方法はありますか?
- 19. 文字列がURLかローカルパスかどうかを確認する方法はありますか?
- 20. 文字列を分割し、その文字列の最後の項目があるかどうかを確認する方法はありますか?
- 21. 文字列が現在の日付であることを確認する
- 22. 文字列が特定のパターンであることを確認する
- 23. 文字列がJavaでISO言語の国であるかどうかを確認する方法
- 24. 文字列が数値かどうかを確認する方法はありますか?
- 25. CNContactがお気に入りであることを確認する方法はありますか?
- 26. UTF16文字列内のすべての文字が有効であることを確認しますか?
- 27. Javaの桁数が奇数であることを確認する方法は?
- 28. 文字列が空であるかヌルであるかを確認する最良の方法
- 29. 文字列がローカルフォルダ文字列かネットワーク文字列かどうかを確認する方法はありますか?
- 30. 文字列が数字であることを確認してください
ハッシュは暗号化ではありません。あなたが今尋ねていることは非常に不明です。基本的にハッシュを検証する方法は、文字列を再ハッシュし、同じハッシュを取得するかどうかを確認することです。 –