問題タブ [hmac]
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.
.net - HMACSHA256 ハッシュはあるサーバーから別のサーバーに転送できますか?
パスワード エンコーディング スキームを使用HMACSHA256.ComputeHash
して 1 つのサーバーでパスワード ハッシュを生成し、後で別のサーバーに移行する必要がある場合、ハッシュは同じものをエンコードしますか? 設定が暗号化操作に関係しているのを見た記憶がありmachineKey
ますが、完全にはわかりません。
c# - HMC SHA1 ハッシュ - Ruby とは異なるハッシュ出力を生成する C#
仕事に使用しているサード パーティ サービス用のバグのある .Net クライアント ライブラリをすばやく取得しようとしています。元のライブラリ (動作する) は Ruby で記述されていますが、DotNet 用の同等のライブラリは、Ruby ライブラリに対して異なるハッシュ出力を生成します。
Ruby 暗号化コードは次のとおりです。
(おそらく) 同等の C# コードは次のとおりです。
ただし、入力と秘密鍵が同じ場合、実際のハッシュ出力は異なります。間違ったハッシュ出力を生成する原因となる C# メソッドの何が問題になっていますか?
EDIT
これは私がコードを書いた方法ですが、それでも間違った出力を生成します:
正解
以下のヘニングの回答のおかげで、正しいコードは次のとおりであると判断できました。
python - Python の perl hmac_sha1_hex に相当するもの
perl が行っていることを python で再現する必要がある
ご覧のとおり、16進ダイジェストは同じではありません...どうすればPythonでperlコードを再現できますか?
ありがとう !
hash - メッセージの署名にHMACを使用する場合、キー、メッセージ、またはその両方をソルトするのが賢明ですか?
SHA-256HMACを使用してメッセージに署名/検証するライブラリを設計しているとします。エンドユーザーが弱い共有キーを使用し、多くの短いメッセージを送信する場合、攻撃者がキーを発見するリスクがあると思います。
私の直感では、キーのリバースエンジニアリングを困難にするために、キーに一意の(メッセージごとの)ソルトを追加する必要があると言われています。
キーソルティングはどのくらい役立ちますか?また、メッセージをソルトすることで何かを得ることができますか?
bash - bash の HMAC-SHA1
HMAC-SHA1
ハッシュを生成する bash スクリプトはありますか?
次の PHP コードに相当するものを探しています。
security - HMAC を使用してパスワードを送信しても問題ありませんか?
私は小さな webapp を書いていますが、ログイン パスワードをクリアテキストとして送信したくありません。私は SSL を利用できないので、クライアント側で HMAC-SHA256 を使用してパスワードをハッシュするために使用されるログイン フォームでランダムな文字列を送信する 1 回限りのチャレンジ システムを作成しました。ランダム チャレンジ文字列をメッセージとして使用し、ユーザーのパスワードを HMAC の秘密鍵として使用します。
自作のソリューションは一般的に悪い考えであることを知っているので、ここで間違いを犯していないかどうかを尋ねたかった.
vb.net - Visual Basic 2010 HMAC SHA1
文字列を hmac sha1 暗号化に変換するコードを取得しました。しかし、私はそれを機能させることができません。これが私のコードです:
このような関数を実行すると:
テキストボックスに04p075DKS2Suw9jGQKC5Q7mYjvI=
入ります。私が得るべきものはc2bc9dd26b76d5b61a40ac788220eef0b26cb2bb
誰でもこれを解決する方法について何か考えがありますか? 助けてください :)
c++ - HMAC-SHA1例が目的のハッシュを返さない?
私はこの例を使用しています:http://msdn.microsoft.com/en-us/library/aa382379%28VS.85%29.aspx
直接コピーして貼り付け、ダイジェストを確認するための参照として次のリンクを使用します:http: //buchananweb.co.uk/security01.aspx
私は自分が間違っていることに混乱しています。この例はHMAC-SHA1用ですよね?誰かが私に何が悪いのかを教えてくれるか、私を正しい方向に向けることができれば、それは大いに役立つでしょう。
c++ - MSDN HMAC-SHA1 の例が機能しない
ここにある CryptoAPI を使用して HMAC 手順を作成する: http://msdn.microsoft.com/en-us/library/Aa379863
HMAC を計算するには
- CryptAcquireContext を呼び出して、Microsoft 暗号化サービス プロバイダー (CSP) へのポインターを取得します。
- CryptCreateHash を呼び出して、HMAChash オブジェクトへのハンドルを作成します。Algid パラメータで CALG_HMAC を渡します。hKey パラメータで対称キーのハンドルを渡します。この対称鍵は、HMAC の計算に使用される鍵です。
- dwParam パラメータを値 HP_HMAC_INFO に設定して CryptSetHashParam を呼び出し、使用するハッシュのタイプを指定します。pbData パラメータは、初期化された HMAC_INFO 構造体を指している必要があります。
- CryptHashData を呼び出して、データの HMAC の計算を開始します。CryptHashData への最初の呼び出しにより、XOR 演算子を使用してキー値が内部文字列およびデータと結合されます。XOR 操作の結果がハッシュされ、次に HMAC のターゲット データ (CryptHashData の呼び出しで渡された pbData パラメーターによってポイントされる) がハッシュされます。必要に応じて、CryptHashData への後続の呼び出しを行って、ターゲット データのハッシュを終了することができます。
- dwParam パラメータを HP_HASHVAL に設定して CryptGetHashParam を呼び出します。この呼び出しにより、内側のハッシュが終了し、外側の文字列が XOR を使用してキーと結合されます。XOR 演算の結果がハッシュされ、次に内部ハッシュ (前のステップで完了) の結果がハッシュされます。その後、外側のハッシュが終了し、pbData パラメーターで返され、長さが dwDataLen パラメーターで返されます。
私の人生では、これを機能させることはできません。すべての手順を順番に実行しましたが、プログラムを実行することさえできません。実行中のエラー:
誰でも助けることができますか?