問題タブ [hash]
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.
perl - ハッシュキーの大文字と小文字を変更するにはどうすればよいですか?
ユーザーによって変更される可能性が高いスクリプトを作成しています。現在、スクリプト内に構成設定を保存しています。ハッシュオブハッシュの形で存在します。
ハッシュ キーに誤って小文字を使用しないように注意したいと思います。スクリプトが壊れてしまうからです。
ハッシュ キーを検査し、小文字を含むキーに対して警告を発行するのは簡単ですが、大文字と小文字の区別を自動的に修正したいと思います。
つまり、トップレベル ハッシュのすべてのハッシュ キーを大文字に変換したいと考えています。
algorithm - 確率的ファイル検証 -- アルゴリズムかライブラリか?
低速の転送メディアを介して「大きな」データセットの整合性を部分的にチェックする効率的な手段を探しています。ファイルサイズが転送速度に比例して大きくなるため、これはよくある問題のようです。
たとえば、具体的な数値の場合、USB2 を介したテラバイトのデータです。すべてのバイトをハッシュまたはチェックサムに読み取ってこのデータがまだ有効であることを確認するには、1 日を要し、ドライブ障害のリスクが高まります。
代わりに、このコードはデータのランダムな部分を検証し、利用可能な時間に基づいて有効性の確率を提供する必要があります。十分に長く実行できる場合、すべてのブロックが検証されます (データセット全体を読み取る基本ケース)。
使用法「ストーリー」:
-- 暗号化された大きなコンテナ (サイズ 1TB .. 1GB) に格納されたデータ。
-- 各コンテナは、異なる場所にある複数のドライブ セットに冗長的にバックアップされました。
-- 検証チェックは、基礎となるデータまたはキーを知らなくても実行する必要があります。
アプローチが検出するために必要な障害モード:
- ストレージ トランスポート障害 (コントローラーが物理アドレスの一部を削除するなど) - セクター エラー (特定のブロックに対してデータが返されない)
- シングル ビット エラー (非 ECC メモリまたはキャッシュ)
エラーが検出されると、データは冗長ストレージから回復されます。検証データは、おそらく別個に保管する必要があります。
目標はデータの整合性であるため、ファイル共有ネットワークの手法は適用できないようです。「ハッシュ ツリー」では、各ノードでハッシュの完全なストレージが必要になります。攻撃者。
- ストレージ容量とファイルの関連ブロックを読み取る時間とのトレードオフをどのように判断できますか?
- ハッシュツリー/ハッシュリストが最善の方法である場合、ハッシュの部分的な値を保存するのはどのくらい安全ですか?
- チェックサムまたはエラー修正コードは、同等の保護のためにハッシュよりも優れた選択肢でしょうか?
sql-server - SQL Server ハッシュ インデックス
CHECKSUM 列タイプを使用して人為的にハッシュ インデックスを作成する場合、ルックアップは実際には O(1) ですか、それともクラスター化インデックスの場合のように O(lg n) ですか? ID 列に基づいて選択するテーブルがあり、ルックアップをできるだけ高速にする必要があります。クラスター化インデックスは最速のオプションですか? O(1) パフォーマンスを提供するものを探しています。
hash - Visual Basic 6.0 ハッシュ関数
私のアプリケーションでは、文字列をテキスト ファイルに保存する前にハッシュする必要があります。誰もそれを行う方法を知っていますか?
security - パスワードのハッシュ化と暗号化の違い
この質問に対する現在のトップ投票は次のように述べています。
もう 1 つの問題は、セキュリティに関連するものではありますが、パスワードのハッシュ化と暗号化の違いを完全に理解できていないことです。プログラマーが安全でない「パスワードを通知する」機能を提供しようとしているコードで最もよく見られます。
この違いは一体何なのでしょうか?ハッシングは暗号化の一形態であるという印象を常に持っていました。投稿者が言及している危険な機能は何ですか?
hash - MD5 ハッシュ値が元に戻せないのはなぜですか?
私が常に疑問に思っている概念の 1 つは、暗号化ハッシュ関数と値の使用です。これらの関数が、一意で事実上元に戻すことが不可能なハッシュ値を生成できることは理解していますが、私がいつも疑問に思っていることは次のとおりです。
私のサーバーの場合、PHPで次を生成します。
MD5 関数を介して同じ文字列を実行すると、PHP インストールで同じ結果が得られます。プロセスは、開始値から何らかの値を生成するために使用されています。
これは、何が起こっているかを分解してハッシュ値を逆にする方法があるということではないでしょうか?
これらの関数について、結果の文字列をたどることができないのはなぜですか?
algorithm - 名前と住所のデータから ID を作成します。ハッシュ/ダイジェスト
私の問題:
人の名前と住所をエンコードされた ID として表す方法を探しています。id には英数字のみを使用し、衝突を防止し、できるだけ少ない文字数で表す必要があります。私が最初に考えたのは、単純に MD5 や SHA1 などの暗号化ハッシュ関数を使用することでしたが、これはやり過ぎのように思え (セキュリティは重要ではなく、一方向である必要はありません)、短いID。この問題に適合する既存のアルゴリズムを知っている人はいますか?
つまり、次の関数を実装して、同じ入力に対して一貫して同じ値を返し、衝突の可能性が低く、id が 20 文字未満になるようにする最善の方法は何ですか?
アプリケーションのコンテキスト (興味のある方):
これは、レコード連携アプリに使用されます。入力された名前と住所を指定すると、非常に大きなデータベースを検索して最も一致するものを探し、データベース ID とその他のデータを返します (これを行う方法はここでは重要ではありません)。一致するものがない場合は、検索入力 (エンティティの名前と住所のデータ) からこの疑似/生成/派生 ID を生成する必要があります。すべての検索レコードは、実際の (一致/リンクから得られる実際のデータベース ID) またはこの生成された疑似/生成/派生 ID のいずれかを持つ出力レコードになるはずです。疑似 ID には、実際の ID と区別するために文字 (N など) がプレフィックスとして付けられます。
php - MySQL でパスワードをハッシュするために使用する関数は?
私のmysqlデータベースには、パスワード列を持つユーザーテーブルがあります。現在、MD5 アルゴリズムを使用してユーザーのパスワードをハッシュし、データベースに保存しています。今、私は自分が安全意識の高い人だと思いたいです。MySQL のドキュメントを読んでいるときに、MD5 や SHA/SHA1 ハッシュ メソッドは推奨されていませんが、代替手段は提供されていないことに気付きました。
MySQL でパスワードをハッシュする最良の方法は何ですか? PHP と MySQL の両方でネイティブにサポートされている関数は理想的であり、現在の実装では必要です。
ありがとう!
algorithm - 2 つの画像が視覚的に同一かどうかの検出
2 つの画像ファイルがファイル レベルで異なる場合がありますが、人間はそれらを知覚的に同一と見なします。それを踏まえて、画像の巨大なデータベースがあり、人間が画像 X がデータベースに存在すると考えるかどうかを知りたいとします。すべての画像に知覚ハッシュ/指紋がある場合、画像 X をハッシュすることができ、それがデータベースにあるかどうかを確認するのは簡単なことです。
この問題に関する調査があり、いくつかのアルゴリズムが存在することは知っていますが、アルゴリズムを最初から実装せずにそのようなハッシュを計算するために使用できる UNIX コマンド ライン ツールやライブラリなどのツールはありますか?
編集:ImageMagickを使用して、findimagedupesからの関連コード
編集:警告!ImageMagick の $image オブジェクトには、読み込まれた画像ファイルの作成時刻に関する情報が含まれているようです。これは、同じ画像であっても、異なる時刻に取得された場合、取得される blob が異なることを意味します。フィンガープリントが同じままであることを確認するには、最後のステップとして $image->getImageSignature() を使用します。
ruby-on-rails - RoR:ハッシュするFasterCSV
FasterCSVを効果的に使用して目的を達成する方法を理解するのに本当に苦労しています。
CSVファイルがあります。いう:
このファイルを調べて、最初の列が何回発生したかを示すカウンターを持つハッシュを作成します。それで:
最初の列の値を事前に知らなくても、これを実行できる必要があります。
?