問題タブ [hmacsha1]
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 - httpOAuth応答エラー
私のLogCat:
http..の経験はあまりありません。
httpPost = new HttpPost(sw);なので 正常に動作しますが、それはベース文字列の署名が正しいことを意味しますか?
または私は何かが欠けていますか?
php - hash_hmac - sha1 - 署名された値が間違っていますか?
api_secret の値は
結果 $signData の値は
ZTYxM2NkymNhZDJiZDUxZWUwMWIYNGRlZTlMYTc3MDlim2FiY2NhYQ==
しかし、$signData で期待される結果は
QbOd8%2BOIzHMKrmEpf4G%2FZFWLAx8%3D
この期待される結果を URL 接続に使用する必要があります。
私はどこで間違っていますか?助けて。
java - phpとjavahmac_sha1のハッシュは同じではありません
phpで記述され、HMAC_SHA1アルゴリズムでエンコードされたサーバー側(コードを変更できません)にメッセージをハッシュしようとしています。私はJavaでコードを書いています。phpコードは次のとおりです。
私のJavaコードは次のとおりです。
私は、phpコードで使用されている各ハッシュメソッドを、ご覧のとおり同じ順序で実行しました。おそらく、PHPでは動作が異なるJavaの関数がありますか?
私が使用しているのは--com.sun.org.apache.xml.internal.security.utils.Base64java.net.URLEncoder、javax.crypto、org.apache.commons.codec.binary
ありがとう!
php - Amazon S3によるPHP&CFの間違ったSHA1
Amazonは一貫してPHPまたはCFとは異なるハッシュを生成するため、永続的な「SignatureDoesNotMatch」エラーが発生します。
ドキュメントによると、 [RESTヘッダーなしの]GETリクエストは次のように署名されています。
サンプルデータ:
- SecretAccessKey:wJalrXUtnFEMI / K7MDENG / bPxRfiCYEXAMPLEKEY
- Content-MD5およびContent-Type:(オプション-スキップ)
- CanonicalizedAmzHeaders :(ヘッダーなし-スキップ)
- リソース:johnsmith.s3.amazonaws.com/photos/puppy.jpg
- CanonicalizedResource:/johnsmith/photos/puppy.jpg
2つの例が提供されています。
- 有効期限1175139620 ; 署名:rucSbH0yNEcP9oM2XNlouVI3BH4%3D
- 有効期限1141889120 ; 署名:vjbyPxybdZaNmGa%2ByT272YEAiv4%3D
これを再作成するには(ここからCFHMAC ):
両方の言語によって返される$signatureが次のとおりであることを除いて:
- 有効期限1175139620 ; 署名:NpgCjnDzrM%2BWFzoENXmpNDUsSn8%3D
- 有効期限1141889120 ; 署名:fScKGHCDI0NY5E7CYp9Vc8VKMbY%3D
私たちは他の人が言及しているこれらの落とし穴に注意してきました:
- hash_macには3番目の引数rawがあり、これはtrueに設定する必要があります。
- S3擬似コードのstringToSignとキーの順序を逆にする必要があります。
- stringToSign全体が1行にある必要があります(余分な改行文字が作成されないようにするため)。
編集:リーの答えに基づいてCFコードの改行を更新しました。これで、CFはPHPと一致します。
私は明らかに何か間違ったことをしていますが、何がわからないのです。
[Amazon S3はCSSと呼ばれるだろうと聞いたことがあります-「複雑なストレージサービス」ですが、その名前はすでに使われています!]
助けてください!
java - JavaでBase64HMACSHA1を使用すると、期待どおりの結果が得られない
HMACSHA1一方向アルゴリズムを使用しようとしています
これは私のコードです
出力は
HEX:83d3ab27ca50358a6b9d7b813c55dc8abaeaa711 BASE64:ODNkM2FiMjdjYTUwMzU4YTZiOWQ3YjgxM2M1NWRjOGFiYWVhYTcxMQ ==
期待されるBASE64:g9OrJ8pQNYprnXuBPFXcirrqpxE =
私はこれらのオンラインサイトを使用して私の期待を定義しました
http://hash.online-convert.com/sha1-generator
text = encodeme
共有秘密鍵の使用
key = MSbN2crsrdTEsLetTixpV46q + fTZotdZjwoEpO62vYk =
私が得る結果はわずかに異なります
hex:83d3ab27ca50358a6b9d7b813c55dc8abaeaa711 HEX:83D3AB27CA50358A6B9D7B813C55DC8ABAEAA711 h:e:x:83:d3:ab:27:ca:50:35:8a:6b:9d:7b:81:3c:55:dc 11 base64:g9OrJ8pQNYprnXuBPFXcirrqpxE =
ご覧のとおり、16進出力は100%に一致しますが、base64出力はまったく一致しません。
問題がそのサイトにないことを確認するために、base64を使用して16進文字列をエンコードするために別のサイトに移動しましたが、同じ結果が得られました...
http://tomeko.net/online_tools/hex_to_base64.php?lang=en
なぜこれが起こっているのか誰かが知っていますか?
前もって感謝します!
oauth - Google Apps Script は署名付き OAuth リクエストをサポートしていますか?
OAuth は、HMAC-SHA1 や RSA-SHA1 などのハッシュを使用して、「保護されたリソース」の要求がコンシューマーによって署名されることを望んでいます。
Google Apps Script はリクエストのハッシュをサポートしていますか? 私は RTFM を実行し、デモ (https://developers.google.com/apps-script/articles/twitter_tutorial) を試しましたが、喜びはありませんでした。
前もって感謝します!
delphi - 予期しない値を生成するIndyHMAC-SHA1
OAuth 1.0aを使用し、署名にHMAC-SHA1を必要とするサードパーティのサービスを使用しようとしています。私はC#で動作するバージョンを作成し、それをDelphiXE2に移行しようとしました。私はすぐに何かがおかしいことに気づきました。サーバーは私の「署名が無効です」と言って私の呼び出しを拒否していました。これは、署名を生成するための私の方法です。
自分にとって間違っていると思われるものを見つけることができなかったので、C#テストからsignatureBaseとを取得しましたkey
署名ベース:POST&https%3A%2F%2Fapi.twitter.com%2Foauth%2Frequest_token&oauth_callback%3Dhttp%253A%252F%252Flocalhost%252Fsign-in-with-twitter%252F%26oauth_consumer_key%3DcChZNFj6T5R0TigYB9yd1w%26oauth_nonce%3Dea9ec8429b68d6b77cd5600adbbb0456%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1318467427%26oauth_version%3D1.0
鍵:L8qq9PZyRg6ieKGEKhZolGC0vJWLw8iEJ88DRdyOg&
これらの値をC#で使用すると、署名が与えられましたF1Li3tvehgcraF8DMJ7OyxO4w9Y=。これは、Twitterが私に与えた期待値でした。しかし、Delphiでは、私は署名を与えられました/kov410nJhE6PTlk0R8bjP7JQq4=
Delphiでは、次のように関数を呼び出しました。
だから私の質問はこれです:私はHMAC-SHA1を間違って使用していますか?もしそうなら、それを修正するためにどのような手順を踏む必要がありますか?そうでない場合、IndyでのHMAC-SHA1の実装は正しく行われていませんか?もしそうなら、それを正しく処理できる使いやすい(できれば無料の)ユニットはありますか?それとも、ここでまったく間違っていることがありますか?
java - Java と C++ で異なる HMAC ダイジェスト
HMAC ダイジェスト生成に C++ を使用するシステムと Jva を使用するシステムの 2 つのシステムを統合しようとしています。
以下は C++ コードです:-
生成される HMAC は 9B2D06D314018A5134EA1CF54D5A9F20CECC473965BD9801AAC9D4868EF39D38 です。
szSeed は 0.4726005982213448 です szStr は test@test.com です
以下は Java コードです:-
結果の HMAC は f91b07623fea970b5f9d1f5d83f850b3a6077c0e80f42b574a01d861143eac09 です。
両方の HMAC が異なります。
この問題はどのように解決できますか?
ご覧いただきありがとうございます。
iphone - Web サービスを使用した iPhone および HMAC-SHA1
これはstackoverflowに関する私の最初の質問なので、優しくしてください。iPhone アプリで Web サービスと通信しており、ホストへの要求を確認する必要があります。私がする必要があるのは、元のURLを取ることです. 「GET http://api.host.com/」を秘密鍵とともにクラスを介して実行し、HMAC-SHA1 ハッシュを生成して ID を検証します。ここでいくつかの例をstackoverflowで試しましたが、うまくいった例は見つかりませんでした。必要なことを実行する.NETクラスのサンプルコードを取得しましたが、iPhoneアプリのXcodeで機能する同様のものが必要です。NET サンプル コードは次のとおりです。
したがって、誰かが Xcode の同様のクラス/関数で私を助けることができれば、それは素晴らしいことです。
よろしくお願いします
ハカン
php - PHPでhmacsha1キーを16進数に設定するには?
次のコードを使用して、HMAC SHA1 署名キーを正常に取得できます。
これにより、次の結果が得られます。
ただし、私が作業している場所は、代わりにこれを期待しています:
オンライン ツールを試してみましたが、この 2 つの違いは、私が一緒に作業している人々が HEX タイプの署名キーを期待していることです。
HEX 型を出力するために PHP に追加する必要があるものはありますか?