問題タブ [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.
c# - .Net で印刷可能な HMAC 共有キーを生成する
共有キーを使用してデータをハッシュするために HMACSHA512 を使用しています。キーは共有されているので、転送を容易にするためにすべて印刷可能な文字にしたいと思います。これらのキーを生成するための最良のアプローチは何だろうと思っています。
現在、RNGCryptoServiceProvider の GetBytes() メソッドを使用してキーを生成していますが、返されるバイト配列には印刷できない文字が含まれています。だから、結果をbase64でエンコードするのが安全なのか、それともランダム性を侵食しすぎて安全性が低下するのか疑問に思っていますか? それが良いアプローチではない場合、提案できますか?
キーを印刷可能な文字に制限することで、キー空間の全体的な幅を制限している (つまり、8 ビットのうちの 1 つを削除する) ことは理解していますが、それで問題ありません。
iphone - PBKDF2-HMAC-SHA256 Objective-C の実装
Objective-C で、HMAC-SHA256 を使用してキーを生成する PBKDF2 の実装を教えてください。これは、後で AES-CBC-Pad 暗号化に使用するキー生成プロセスの一部です。
前もって感謝します
php - PHP で Objective-C のような HMAC-SHA1 文字列を作成するにはどうすればよいですか?
PHP と Objective-C を使用して認証ソリューションを実装しようとしています。どちらの言語も、同じキーと同じシークレットを使用して独自の HMAC-SHA1 でエンコードされた文字列を作成します。
どうやらやり方が違うようです。
Objective-C 側では、正しい外観のエンコードされた文字列を生成する署名クラスとして OAuthCustomer を使用しています。
PHP側では、これを生成するbase64エンコーディングで組み込み関数 hash_hmac('sha1',...) を使用しています:
次に、別の関数(ここで説明)を使用しようとしましたが、これは base64 エンコーディングで次のように生成されます。
この問題を解決する方法がまったくわからず、なぜこれが起こるのかさえわかりません。
助けてくれてありがとう、
ポール
php - PHP Password storage with HMAC+nonce - Is nonce randomness important?
ここ数年、PHP のパスワード ストレージを安全にする方法について、stackoverflow で質問しました。主な答えは、次のハッシュアルゴリズムを使用することを提案しています:
答えは、ランダムナンスを使用することを提案しています。単純な一意のナンスよりもランダムなナンスを持つことに利点はありますか?
たとえば、各ユーザーは変更されない独自の ID を持つことができます。ただし、ユーザー ID はシーケンシャル (MySQL の自動インクリメント機能で作成) であり、ランダムではないと仮定しましょう。ユーザー ID はナンスとして適切でしょうか、それともランダム性は重要ですか?
これで、各ユーザーがユーザー名を選択できるようになりました。各ユーザーには変更されない独自のユーザー名があり、2 人の異なるユーザーが同じユーザー名を持つことはできません。ユーザー名はまだランダムではありませんが、シーケンシャルでもありません。ユーザー名はノンスとして十分でしょうか? ユーザーIDを使用するよりも良いでしょうか?
php - RFC 2104 HMAC-SHA1 の最適な実装
RFC 2104 HMAC-SHA1 alg の最適な実装は何ですか? phpで?http://us2.php.net/manual/en/function.hash-hmac.phpを読みましたが、試してみると
異なる結果が得られます。
ありがとう
algorithm - SHA1ハッシュをどれだけ切り捨てて、一意のIDを持っていることを合理的に確認できますか?
ドキュメントを保存し、タイムスタンプを含むいくつかのSHA1ダイジェストに基づいて各ドキュメントにUIDを与えるアプリケーションを作成しています。ダイジェストには多くの文字が含まれているため、ユーザーが完全なダイジェストの最初のx文字を使用してドキュメントを識別できるようにしたいと思います。ドキュメントの数が約10K〜100Kの場合、xの適切な値は何ですか?
python - hashlib sha1 を使用した Python 暗号化の基礎
特に python では、暗号化がどのように機能し、コード化されているかを完全に理解するのに苦労しています。基本を理解し、最も単純な形式でコードを作成しようとしています。
2 つの異なるサイト間でユーザー ID を渡す予定ですが、明らかにこれを秘密鍵で暗号化して、Website2 が Website1 からのものであることを認識できるようにする必要があります。これは私にとってはコードのようです: http://docs.python.org/library/hashlib.html#module-hashlibですが、あまり良い例がありません (または、間違った場所にいる可能性があります)。
私が抱えている問題は、エンコードとデコードの方法を完全に理解することです。
したがって、各 Web サイトが認識する共有秘密鍵は次のようになります。
そして、Website1 が Website2 に次のユーザー ID を渡すようにします。
Web サイト 1 は、暗号化を HTTP ヘッダー経由で送信できるように秘密鍵を使用してユーザー ID を暗号化し、Web サイト 2 が共有秘密鍵を使用してユーザー ID を解読して読み取ることができるようにするにはどうすればよいでしょうか?
このような基本的な質問をして申し訳ありませんが、これをどのように行うべきかを理解できていません。ありがとう。
wcf - WCF で呼び出し元/サーバーを確認する
私のシナリオ:
- 私の管理外の環境にある多くの WCF クライアント
- サーバーは私のものか、私の管理外の環境にあります
したがって、最悪の場合、クライアントとサーバーは私の管理外です。より具体的には、このコードをホストしている誰かが、サーバーまたはクライアント (サーバーの可能性が高い) のいずれかを悪意を持って偽装しようとする可能性があると推測できます。ただし、クライアントはサーバーが私のコードであることを確認する必要があり、サーバーはクライアントが私のコードであることを確認する必要があります。証明書を使用するためのすべての推奨事項を見てきました。ただし、それは私のシナリオでのオプションですか?
私が検討した 1 つのアプローチは、IClientMessageInspector と IDispatchMessageInspector を記述して、両側でカスタム SOAP ヘッダーを設定および検証することです。ソース コードに含まれる秘密鍵に基づいて HMAC 署名を作成し (これを隠しておく方法があると仮定します)、メッセージ本文に基づいてダイジェストを検証します。
これはうまくいくと思います。ただし、ここで見逃している、すぐに使える何かがあるように感じます。私は近づいていますか、軌道から外れていますか?ご指導ありがとうございます。
security - HMAC と単純な MD5 ハッシュ
使用する利点を指摘できる人HMАC
はいますか?
たとえば、 textT
と keyがある場合、アルゴリズムまたは署名のK
いずれかを使用できます。HMAC-MD5
Md5(T + K)