問題タブ [message-digest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
3261 参照

javascript - ソルトでパスワードハッシュを使用するプロトコル

Webアプリケーションで送信する必要のある情報を理解しようとしています。基本的に、私はWebサーバー、ハッシュされたパスワードとソルトを含むユーザーテーブルを持つデータベース、そしてもちろんjavascriptが有効になっているWebクライアントで実行されているWebアプリを持っています。

ログイン時にユーザーがログインすると、クライアント側でユーザー名とパスワードが入力されます。送信される情報を知りたい。Webクライアントはパスワードをプレーンテキストで送信しましたか、それともjavascriptを使用してソルトなしでパスワードをハッシュし、結果を送信しましたか?または、クライアントはサーバーからプレーンテキストでソルトをフェッチしてから、クライアントはhased password + saltを送信しましたか?

ハッシュし、ソルトでハッシュするための最良の方法は何ですか?MD5はハッシュとして大丈夫ですか?hash(password_plain_text + salt)とhash(hash(password_plain_text)+ salt)はどのようになりますか?ここで、+は文字列の連結ですか?

0 投票する
1 に答える
3762 参照

java - PHP の pack 関数に相当する Java

次のように、PHP で SHA1 ハッシュを生成するサンプル アプリケーションがあります。

Javaで同じことを達成しようとしましたが、これまでのところ、出力は異なります。私が使用したアプローチは次のとおりです (Base64 および Hex クラスは commons-codec ライブラリから取得されます)。

私の質問は、私が取ったアプローチは、PHP の pack() 関数と同じ出力をもたらすでしょうか? 私の推測では、PHP の pack() 関数は raw バイトを返し、Hex.encodeHex は 16 進文字列形式を返します (参照: http://www.w3schools.com/php/func_misc_pack.asp )。

Java で PHP の pack() 関数と同じ出力 (または上記の PHP コードの完全な出力) を得るにはどうすればよいですか?

0 投票する
1 に答える
609 参照

android - HMAC-AndroidでのWhirlpoolの実装

誰かがAndroid携帯にHmac-Whirlpoolを実装または使用していますか?インターネットでwhirlpool.java
を見つけましたが、AndroidSDKのデフォルトのセキュリティプロバイダーにはWhirlpoolもHmac-Whirlpoolもありません。

0 投票する
3 に答える
8764 参照

java - java messagedigestは、異なるjdkバージョンで異なるMD5ハッシュを生成しますか?

Javaメッセージダイジェストを使用して、認証に使用されるMD5ハッシュを作成しています。MD5ハッシュは、varchar2としてデータベースに保存されます。ローカルラップトップのTomcatサーバーでユーザーを作成するためのテストを行いました。Linux Redhat上のテストTomcatサーバーにwarをデプロイしたとき、ハッシュが一致しないために認証が失敗しました。ユーザー名とパスワードを確認しました。すべて正しいです。両方のWebサーバーが同じデータベースを指しています。

ローカルラップトップで生成されたハッシュは、テストサーバーで生成されたハッシュとは異なると思われます。私は正しいですか?

以下は、ハッシュを生成するために使用したコードです。

返された文字列は、以下に定義されているデータベーステーブルに保存されます。

これが私のラップトップでのJavaバージョンの出力です

これがredhatサーバーでのJavaバージョンの出力です

0 投票する
1 に答える
1962 参照

java - java.security.MessageDigest で生成された値を短縮する方法はありますか?

この Java コードを使用して (アプリのセキュリティ機能用に) メッセージ ダイジェストを生成すると、次のようになります。

次のような非常に長い文字列になります。

URL を渡すのはあまり良いことではありません。

これを短くする方法はありますか?

0 投票する
3 に答える
1224 参照

encryption - MD5またはSHA-Xハッシュは暗号化とどのように異なりますか?

MD5は暗号化ではないことを数回読んだことがあります。たとえば、MD5 ...暗号化ですか?またはコマンドラインメッセージダイジェストユーティリティ

ええと、それはハッシュ/メッセージダイジェストだと思います。上記のリンクの説明では、暗号化にはキーが必要であると書かれていますが、hash/mdは署名だけを生成する暗号化ハッシュ関数です。違いがよくわかりません。暗号化ハッシュ関数/アルゴリズムをキーとして見ることができませんでしたか?

また、暗号化されたものと暗号化されたものの違いは何ですか?

0 投票する
2 に答える
7880 参照

attributes - x509 証明書による S/MIME 検証

x509 証明書を使用した S/Mime 署名付きメッセージの検証に問題があります。これは私のコードです:

}

そして、私はこの例外に問題があります:

CMSSignerDigestMismatchException: メッセージ ダイジェスト属性値が計算値と一致しません。私は何が間違っているのか分かりません。私はjdk 1.4.2を使用しています。

0 投票する
1 に答える
109 参照

java - メッセージダイジェストのようなものですが、ファイルを段階的に記述します

私が書いているJavaプログラムを使用してファイルと更新を転送する必要がある異種オペレーティングシステムを備えた地理的に離れたノードのセットがあります。現在、ファイルが変更された場合は、ファイル全体を再度送信する必要があります。異なるファイルのセクションを判別し、それらのみを送信する方法はありますか(これらのファイルは必ずしもテキストではなく、任意の形式である可能性があることに注意してください)。私が考えることができる唯一の方法は、ファイルをブロックに分割し、ブロックをハッシュし、ハッシュをリクエスターに送り返すことです。リクエスターは、必要なブロックのみを要求しますが、小さなブロックと大きなファイルの場合、これは大きなオーバーヘッドになるため、単一のメッセージを分析して、送信する必要のあるブロックのリストを提供できるように、ファイルを説明するメッセージを送信する方法はありますか?

ほとんどのダイジェスト関数は、データへの小さな変更がハッシュ出力全体に大きな変更をもたらすように設計されています。基本的に、これの逆が必要です。これは、すべてのオペレーティングシステムで機能します。

0 投票する
2 に答える
621 参照

java - 2 つの MD5 ハッシュ メソッドが異なるハッシュを生成するのはなぜですか?

私はJavaが初めてで、本当に助けが必要です。ファイルの MD5 ハッシュを取得するために、コマンド ライン ツールを作成しました。これは機能したので、コードを調整して GUI 形式にしました。2 つのプログラムは、同じファイルの異なるハッシュを提供し、混乱を招きます。私はUTF-8を調べましたが、私が知る限り、それは文字列に対してのみ機能し、ファイルインスタンスでは機能しません. 異なるハッシュ値を提供している理由を教えて、正しい方向に向けることができますか?

最初の方法 (コマンド ライン)...

2番目の方法(GUI用に構築)...

0 投票する
4 に答える
31029 参照

android - すべてのAndroidフォンはSHA-256をサポートしていますか

したがって、この投稿を読んでください:Androidで文字列のSHA-256ハッシュを計算するにはどうすればよいですか?

およびドキュメント:http ://developer.android.com/reference/java/security/MessageDigest.html

私は興味がある; どの電話がSHA-256をサポートしますか?ドキュメントでは、「NoSuchAlgorithmException」に関する行から、一部の電話がすべてのアルゴリズムをサポートしていないと思われます。これをアプリに実装して、すべての電話で同じように機能することを期待する前に、誰かがこれについて何か知っているかどうか知りたいです...?

MessageDigestクラスに、使用するアルゴリズムを選択するための定数がないのは奇妙だと思います。