問題タブ [challenge-response]

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 投票する
1 に答える
293 参照

ruby - praetorian api crypto (API へのアクセス方法は?) w/ ruby

自分のサーバー以外で作業をしたことがなく、トークン認証の仕組みなどに慣れていないため、 praetorian apiに接続する方法がわかり ません。

これらの課題にアクセスする方法と、サイトに記載されている手順について、誰かがより多くの情報を提供できますか?

初期レベル 0 とそのハッシュを表示することはできますが、投稿を送信する方法や API 自体にアクセスする方法、またはそれが求められているかどうかさえわかりません。*たとえば、非常に唖然とした「ターミナルでこれを入力するか、これを___に置き換えます」と、文字通り何が言われているのか理解できません。

また、サーバーからトークンを取得する方法、またはそれがルビーの外にあるものであるかどうかもわかりません。

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

python - python-requests によるチャレンジ/レスポンス スキームの実装

Python requests モジュールの使用方法を学び始めています。練習のために、チャレンジ/レスポンスの問題を管理しようとしました: http://lema.rae.es/drae/srv/search?val=hacerのデータにアクセスしたいです

Firefox の「Tamper Data」プラグインを使用して、必要な HTTP リクエストを調べました。

2 つの HTTP 要求で Firefox から送信される正確なヘッダーをコピーし、Python で JavaScript の「チャレンジ」機能を実装しました。それから私は次のことをしています:

残念ながら、サーバーは期待どおりに応答しません。「r.request.headers」を介して送信しているすべてのヘッダーを確認しましたが、Firefox が送信するヘッダーと完全に一致しています (Tamper Data によると)。

私は何を間違っていますか?

ここで私の完全なコードを調べることができます: http://pastebin.com/7JAZ9B4s

これは、取得する必要がある応答ヘッダーです。

そして、これは私が実際に取得する応答ヘッダーです:

0 投票する
0 に答える
75 参照

php - コードを C++ に移植する際の問題 (CHAP)

C++ プロジェクトに組み込む必要がある CHAP 実装の一部である、一見単純な次の PHP コードがあります。

これは私がこれまでに持っているものです:

コードが実行されて文字列が生成されますが、値が正しくありません。暗号化ハッシュであるため、結果を比較するのが難しいため、正確な理由を特定できませんでした。

私はどこかで愚かなことをしていると思います。これと何時間も戦っています。どんな提案でも大歓迎です。私の目標は、もちろん PHP で exec を実行せずに、PHP で既に行われていることを行うことです。

どこかで文字列に何か問題があるのではないかと思います。

0 投票する
5 に答える
845 参照

java - プログラムを速くする方法 [Keypad_Sticky_Note]

キーパッド付箋

手下たちは、ブーリアン教授の秘密の一部を安全に保管しています。またはそう彼らは考えます。実際、彼らは非常に自信を持っており、ロックのキーパッドにパスワードのヒントの付箋を貼り付けています。

ロックするには、負でない整数のペア (a、b) をキーパッドに入力する必要があります。整数は 20 億にもなる可能性があるため、付箋に助けを求めます。

付箋には2つの数字が書かれていますが、ミニオンでさえパスワードをそこに入れないように十分に知っています. 彼らは実際には、パスワード整数 (a, b) のペアの合計 (s とラベル付けされています) とビットごとの排他的論理和 (xor、x とラベル付けされています) を書き留めています。そうすれば、覚えておく必要があるのは 1 つだけです。減算が困難な場合は、ビットごとの排他的 OR を使用できます。

つまり、s = a+b および x = a^b (^ はビット単位の XOR 演算) です。

自動ハッキング装置では、推測を入力しようとするたびに数ミリ秒かかります。発見されるまでの時間はわずかであるため、すべての組み合わせを試すことができるようになるまでにかかる時間を知りたいと考えています。付箋のおかげで、特定の組み合わせをキーパッドに入力しなくても削除できるようになり、最悪の場合、ロックを解除するのにかかる時間を正確に知ることができます。

目標和と xor を持つペア (a, b) の数を見つける answer(s, x) という関数を書きます。

たとえば、s=10 で x=4 の場合、(a, b) の可能な値は (3, 7) と (7, 3) であるため、answer は 2 を返します。

s=5 かつ x=3 の場合、可能な値はないため、answer は 0 を返します。

s と x は少なくとも 0 で、最大で 20 億です。

言語

Python ソリューションを提供するには、solution.py を編集します Java ソリューションを提供するには、solution.java を編集します

テストケース

入力: (int) s = 10 (int) x = 4 出力: (int) 2

入力: (int) s = 0 (int) x = 0 出力: (int) 1

私のコードは動作しますが、s と x が大きくなりすぎると時間がかかりすぎます。このプログラムをより速く実行するにはどうすればよいですか?

0 投票する
0 に答える
127 参照

scala - 匿名アクセスとログイン ユーザーの両方を許可している場合に、匿名ログイン試行に対処するにはどうすればよいですか?

匿名アクセスと名前付きユーザー アカウントを許可するフレームワークがあります。特定の URL で OData リソースを公開しています。そのように構成すると、匿名ユーザーはリソースの一部を表示でき、(基本認証を介して) ログインしているユーザーはより多くのリソースを表示できます。

私が直面している問題は、一部の OData クライアント (Excel など) が、資格情報を提供した場合でも、最初は匿名で OData リソースにアクセスしようとすることです。これが失敗した場合にのみ、提供された資格情報が使用されます。私の理解では、これはログインする方法がたくさんあり、一部のクライアントは常に最も基本的なオプションを最初に試すためです. ただし、これにより、提供された資格情報を使用することはなく、リソースが匿名アクセスを許可している場合に認証チャレンジを取得することもないため、実際にはより多くのデータを見ることができなくなります。

この問題を解決して、匿名アクセスを許可し、可能な場合は認証チャレンジを適切に送信する方法はありますか? クライアントが資格情報を持っているが、最初は資格情報を提供していないときに送信するヘッダーがいくつかありますか?

これをもう少し具体的にするための (scala) コード:

周囲の try/catch の外側のどこか:

ご覧のとおり、匿名アクセスが許可されている場合、チャレンジは送信されません。

編集: 調査したところ、このリクエストのヘッダーには、これが別の匿名ログイン試行ではなく、認証チャレンジが送信されたときに別のリクエストが発生する最初の試行であることを示す特別なものはないようです。私たちは今ここでどう進めてよいか途方に暮れています。

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

vba - (編集済み)VBA 特定の文字と番号が付けられたファイルを、バリエーションを追加した同一の名前から選択します

マクロを使い始めたところ、次のような名前の VBA で開くファイルのリストが 100 個以上あります。Marc002_Improvement.xls Pol001.xls ...

これにより、ファイルを選択するためのウィンドウが開きますが、選択するファイルがなく、それらを識別しません

.txt 形式の同一のファイルもありますが、Mark001.xls タイプのものだけを開く必要があり、大きな名前は関係ありません。

また、それらを別のフォルダーにコピーする必要があります。OpenFile、SerchFile、および selectFile アプリケーションを使用しようとしましたが、成功しませんでした。

どうもありがとうございました!