問題タブ [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.
java - 保存されたデータベース ハッシュと一致しない SHA-1 ハッシュを再生成しています
キーストレッチングと UUID をソルトとして組み合わせた SHA1 パスワードハッシュを実装しようとしています。ソルトは、データベース バックエンド内の usersTable の列として保存されるため、各ユーザーは独自の固有のソルトが生成されます。
私の問題は、パスワード ハッシュを再生成しようとすると、ハッシュが一致せず、問題がどこにあるのかわからないことです。
registerUser は、createUser からユーザー オブジェクトをフェッチし、それをデータベースに保持します。次に、validatePassword を使用してハッシュを再生成します。完全なコード スニペットについては、以下を参照してください。これは、パスワードを保護するための私の最初の試みです。明らかに、どこかでおかしくなりましたが、バグを見つけることができません。
java - Bouncy Castle 署名と X509Certificate からコンテンツを取得する
私は Bouncy Castle を初めて使用します。Bouncy Castle API を使用して、X509Certificate を使用した署名と公開鍵のみを使用してオリジナルのコンテンツを取得できる方法があるかどうかを知りたいのですが、公開鍵しかないため、方法が見つかりません。メッセージの署名に使用される秘密鍵がありません。
reset - MessageDigest をリセットするとどうなりますか?
これが私が話しているコードです:
reset() メソッドは MessageDigest オブジェクトに対して何をしますか? なぜそれが必要なのですか?
java - 文字列を md5 に変換すると、桁数が加算されます
MD5
このコードを使用して、文字列をその表現に変換しようとしています:
返された文字列には追加の桁数があります (31 であるため、16 進数にすることができます)。私は何を間違っていますか?
java - Java セキュリティにおける署名検証プロセス
2 人間で original_message を送信したい。アリスとボブとしましょう。これらの手順が署名の検証に正しいかどうかを知りたいです。
- Alice は自分の PrivateKey で original_message をハッシュします -> h(m)
- アリスはハッシュ化されたメッセージを暗号化します -> c(h(m))
- Alice は自分の PrivateKey でメッセージに署名します -> s(c(h(m)))
Alice は最終的に署名されたメッセージ (PublicKey) と (original_message) を Bob に送信します。ボブ側:
- Bob は original_message をハッシュします -> h(m)
- ボブは署名されたメッセージをアリスの公開鍵で解読します -> d(s(c(h(m))))
- それらが等しいかどうかボブはハッシュされたメッセージで解読されたメッセージをチェックしますか? もし ( h(m) == d(s(c(h(m)))) )
私はいくつかの間違いをしていることを知っています。両側の正しい順序を知っている人はいますか?
ここでは、これを行うために java.security を使用しましたが、最終ステップでハッシュをチェックすると、 false が返されます!
アリスの部分で:
ボブの部分で:
file - ストリームクローズエラー Groovy
こんにちは、FTP に接続してファイルを読み取り、そのファイルの md5 チェックサム値を生成しようとしていますが、Stream Closed エラーに直面しています。これが私のコードです。
私が間違っていたところを親切に助けてください
java - java と datastage によって生成された異なる MD5 ハッシュ値が見つかりました
文字列「TREFFLAGDATAC000000EN」に対して Java を使用して MD5 チェックサム値を生成しようとしていますが、同じ文字列に対して IBM InfoSphere DataStage が異なる MD5 チェックサム値を生成しています。
データステージで指定された同じ MD5 チェックサム値を生成する方法を教えてもらえますか?
Java コードによって生成された md5: 4659dff22b357cd9cc9fe0979603d1ab データ ステージによって生成された md5: fd607ac2a5d19980795c584dff24b899
以下は私のJavaコードです
public static void main(String[] args) throws UnsupportedEncodingException{
String value = "TREFFLAGDATAC000000EN";
String hashCode = DigestUtils.md5Hex(value.getBytes("UTF-8"));
System.out.println(hashCode);
}