問題タブ [brute-force]
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.
ruby - 広い範囲をランダムに反復するにはどうすればよいですか?
範囲をランダムに繰り返したいと思います。各値は1回だけ訪問され、すべての値が最終的に訪問されます。例えば:
ここで、f(x)
は各値を操作する関数です。フィッシャー-イェーツシャッフルは、ランダムな順序を効率的に提供するために使用されます。
私の問題はshuffle
、配列を操作する必要があることです。これは、天文学的に大きな数を処理しているため、クールではありません。Rubyは、巨大な配列を作成しようとすると、すぐに大量のRAMを消費します。に置き換える(0..9)
ことを想像してみてください(0..99**99)
。これが、次のコードが機能しない理由でもあります。
このコードは非常に単純で、tried
より多くのエントリを取得するとすぐにメモリが不足します。
私がやろうとしていることを達成できるのはどのようなアルゴリズムですか?
[編集1]:なぜこれをしたいのですか?部分的な衝突を探すN長の入力文字列のハッシュアルゴリズムの検索スペースを使い果たしようとしています。私が生成する各数値は、一意の入力文字列、エントロピー、およびすべてに相当します。基本的に、私はカスタムアルファベットを使用して「カウント」しています。
[Edit2]:これはf(x)
、上記の例では、ハッシュを生成し、それを定数のターゲットハッシュと比較して部分的な衝突を行うメソッドであることを意味します。x
呼び出した後の値を保存する必要がないf(x)
ので、メモリは時間の経過とともに一定に保たれるはずです。
[編集3/4/5/6]:さらなる説明/修正。
[解決策]:次のコードは@btaの解決策に基づいています。簡潔にするために、next_prime
は表示されていません。それは許容できるランダム性を生み出し、各番号を1回だけ訪問します。詳細については、実際の投稿を参照してください。
c# - Brute force characters into a textbox in c#
I want to make a program that "test passwords" to see how long they would take to break with a basic brute force attack. So what I did was make 2 text boxes.
(textbox1
and textbox2
) and wrote the program so if the text boxes had the input, a "correct password" label would appear, but i want to write the program so that textbox2
will run a brute force algorithm in it, and when it comes across the correct password, it will stop. I REALLY need help, and if you could just post my attached code with the correct additives in it that would be great. The program so far is extremely simple, but I am very new to this, so.
java - 春のセキュリティ:ブルートフォース検出(BFD)を実装する方法は?
私のWebアプリケーションのセキュリティはSpringSecurity3.02で処理され ていますが、ブルートフォース検出のサポートがすぐに見つかりません。
アプリケーションレベルのBFD保護を実装したいと思います。たとえば、ユーザーごとの失敗したログイン試行をデータベース(JPA)に保存します。攻撃されたユーザーアカウントは、ロックアウト期間または電子メールによるアカウントの強制的な再アクティブ化を取得する可能性があります。
Spring Securityでこれを実装するための最良の方法は何ですか?これに関するサンプルコードやベストプラクティスがある団体はありますか?
security - 類似のパスワードは類似のハッシュを持っていますか?
職場のコンピューター システムでは、ユーザーは数週間ごとにパスワードを変更する必要があり、以前と同じパスワードを使用することはできません。前回のパスワードを 20 個ほど記憶しています。私は、ほとんどの人がパスワードの末尾の数字を 1 つ増やすだけであることを発見しました。そのため、「thisismypassword1」は「thisismypassword2」になり、次に 3、4、5 などになります。
これらのパスワードはすべてどこかに保存されているため、MD5 などのパスワードを保存するために使用される標準のハッシュ アルゴリズムでは、ハッシュ自体に弱点があるのではないかと考えました。ハッカーは、同様のパスワードのハッシュのリストを持っている場合、パスワードをブルート フォース攻撃する可能性を高めることができますか?
brute-force - 無限大に境界がある定積分を計算するアルゴリズム
一方 (または両方) の端が (-) 無限大に制限されている積分があるとします。AFAICT、私はこの問題を分析的に解決することはできません。力ずくで解決する必要があります (たとえば、Left Riemann Sum を使用)。適切なサブディビジョンを設定するようにアルゴリズムを一般化するのに問題があります。些細なことを計算するのにあまりにも多くの作業を行うか、ほとんど十分に処理せずに大きなエイリアシング エラーが発生するかのいずれかです。
どの言語でも回答できるのはクールですが、google-fu が優れている人なら、これをすぐに終わらせることができるかもしれません。:)
私が探しているものは、英国の海岸線を測定しようとするのと同じくらい不可能ですか?
security - ブルートフォースプルーフハッシュアルゴリズムはありますか?
さて、ハッシング手法の弱点についての議論から、私は、古き良き力ずくで破るのが効率的であるということを理解しました。
それで、問題は次のとおり
です。他のものよりもブルートフォースに対してより厳格なハッシュアルゴリズムはありますか?
パスワードをハッシュする場合。
puzzle - 計算パズルを解くためにクライアントを要求する
私はそれを必要としているわけではありませんが、誰かがサーバーについて話し、サーバーが何かをする前にクライアントが解決しなければならないパズルを持ってDOS攻撃からサーバーを保護しているのを聞くのは興味深いことでした(解決されない限り、割り当てやセッションは行われません) 。
その人はまた、パズルは短時間または長時間かかるように作ることができると言いました。また、正しい解決策を確認するのは簡単ですが、解決するのは困難です。
これらのパズルは何ですか?聞いたことがない。誰かが例(またはリンク)を与えることができますか?
algorithm - リスト内で画像を一意にするピクセルを見つけて、ブルートフォースを改善できますか?
各文字列が
- 正確に4文字の長さと
- リスト内で一意。
これらの文字列のそれぞれについて、文字列を一意にする文字列内の文字の位置を特定したいと思います。
したがって、3つの文字列のリストについては
最初の文字列については、 dが他の文字列の4番目の位置に表示されないため、4番目の位置dにある文字を識別します。
2番目の文字列では、4番目の位置cにある文字を識別します。
3番目の文字列については、1番目の位置bにある文字と、4番目の位置にある文字bも識別します。
これは簡潔に次のように表すことができます
同じ問題を検討しているが、2進数のリストがある場合
次に、私が望む結果は
2進数のテーマにとどまり、XORを使用して、2つの2進数内でどのビットが一意であるかを識別できます。
これは、この場合、2番目と3番目のビット(左から右に読み取る)がこれら2つの2進数の間で一意であることを意味すると解釈できます。どういうわけかそれをより大きなリストに拡張することができない限り、このテクニックは赤いニシンかもしれません。
ブルートフォースアプローチは、各文字列を順番に調べ、各文字列について、リスト内の残りの文字列の垂直スライスを反復処理することです。
だからリストのために
私はから始めます
の垂直スライスを反復処理します
これらの垂直スライスはどこにありますか
またはリスト形式で、「ab」、「bb」、「cc」、「cb」。
これにより、4つの比較が行われます。
または簡潔に
希望に満ちた考えかもしれませんが、任意の数の文字列(または2進数)のリストに適用できる、エレガントで一般的な解決策があるはずだと感じています。しかし、もしあれば、私はまだそれを見ることができませんでした。
このアルゴリズムを使用して、一意の画像(ビットマップ)のコレクションから最小限の署名を導き出し、将来それらの画像を効率的に識別できるようにしたいと考えています。将来の効率が問題にならない場合は、各画像の単純なハッシュを使用します。
ブルートフォースを改善できますか?
編集 私が温めているアプローチは、ピクセルから画像へのマップを作成することです
次に、そのマップを使用して、各画像の署名ピクセルの最小セットを識別します。
ピクセル(x、y、色で識別される)が1つの画像のみを参照している場合、その画像の完全な(最小限の)署名を見つけました。
画像に一意のピクセルがない場合はさらに複雑になりますが、リスト内ですべての画像が一意であることがわかっているため、2つ以上のピクセル参照(ただし可能な限り少ない)を組み合わせて画像を推定できるはずです。
アップデート
私はこのためのアルゴリズムに取り組んできました。私の問題はこれと非常によく似ており、その質問に対する答えとしてアルゴリズムを作成しました。このアップデートは、まだフォローしている人の注意を喚起するためのものです(5つのブックマークが表示されます)。私はこれに単独で取り組んでいるので、自分自身を明確にしていないことを観察するだけでも、あらゆるフィードバックを歓迎します!
ruby-on-rails - authlogicで特定の回数のログイン試行が失敗した後、ユーザーにキャプチャを入力させるにはどうすればよいですか?
Rails3アプリをブルートフォースログインの推測から保護しようとしています。authlogicを使用しています。特定の回数のログイン試行が失敗した後、ユーザー(またはボット)にキャプチャを強制的に入力させる最良の方法は何ですか?authlogicには、同じIPからの連続した失敗した試行の数を記録するための組み込みのメカニズムがありますか?助けていただければ幸いです。
encryption - ブルートフォース復号化攻撃は、適切な解決策を見つけたとき、どのようにしてそれを知るのでしょうか?
暗号化されたデータに対するブルート フォース攻撃は、データを復号化するための適切なキーをいつ見つけたのかをどのように知るのでしょうか? 人間に見てもらう以外に、データが復号化されたことを知る方法はありますか? 人間に優しいデータでない場合はどうなりますか?