データベースのmd5ハッシュカラムにインデックスを置く必要があります。私はmd5列の検索を行います。私はCHAR(32)としてハッシュを格納しようとしていましたが、バイナリカラムオプションも見ました。 md5ハッシュをバイナリ列またはchar(32)に格納する方が良いでしょうか。エンティティにLinqを使用してバイナリ列をクエリできますか?もしそうなら、私はこれについてどうやって行くのですか?Linq:データベースにMD5ハッシュカラムを格納する方法
答えて
SQLServerまたは128ビットのGUIDタイプをサポートする他のサーバーを使用している場合は、GUIDタイプを使用してMD5値を表現できます。
MD5は16バイト(128ビット)なので、簡単にGUIDに変換できます。 C#でこれを行うには、Guid構造体を使用したり、簡単な変換ルーチンを手作業で書くことができます。
ガイドの形式はxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxです(xは16進文字ですが、128ビットの整数として内部的に格納されるため、スペースがほとんどなく、非常に高速です)。クエリ!
GUIDSはcharまたはバイナリよりもはるかに優れていますが、固定サイズであり、非常に高速で低消費電力であるため、より多くのビットが必要な場合はINTの代わりにキー\インデックスとしてよく使用されます。
インデックスが同じであれば、どのタイプを選択しても問題はありませんが、その違いはストレージにあります。バイナリ型はおそらく小さくなりますが、char型は値を整数としてエンコードします。本当にその日の終わりには、バイナリをより寛容にするためにcharを使用します。だから、何百万ものこれらのものを保管していない限り、大きな違いはありません。
LINQについてはわかりませんが、私はあなたができると確信しています。フィールドの代わりにフィールドになるでしょう。それは私がcharに行くだろう他の理由です、それはlinqを扱いやすくなります。
実際にコード内のハッシュをどのように表現するかによって異なります。バイト配列の場合は、バイナリDB型を使用してください。それが文字列の場合は、それを使用します。どちらの方法でも、それはあるレベルのすべてのバイナリデータです。データを表示するときにコンピュータがそれを解釈する方法だけです。
- 1. は、データベースに格納する
- 2. データベースに格納されているユニコードにアクセスする方法
- 3. アドレスをデータベースに格納する方法は?
- 4. ベース64イメージをデータベースとMy Serverフォルダに格納する方法
- 5. 入力値をデータベースに格納する方法は?
- 6. xmlデータをsqliteデータベースに格納する方法
- 7. mysqlデータベースにbitcoinと他の通貨を格納する方法
- 8. MySQLデータベースに配列値を格納する方法
- 9. sqliteデータベースにオブジェクトを格納する方法は?
- 10. エンティティクラスにデータベース名を格納する方法
- 11. バイナリファイルの出力をデータベースに格納する方法
- 12. 複雑なショッピングカートのデータベースに値を格納する方法
- 13. Googleマップアクティビティの場所をSQLデータベースに格納する方法
- 14. アンドロイドスタジオのSQLiteデータベースにビューオブジェクトを格納する方法
- 15. SQLデータベースからデータをコンボボックスに格納する方法 - C#
- 16. データベースにjqueryのdatepickerを格納する方法
- 17. ブラックベリーアプリケーションのローカルSQL Serverデータベースにテキストボックスデータを格納する方法は?
- 18. アラビア文字をデータベースに格納する方法
- 19. ruportテーブルのデータオブジェクトをデータベースに格納する方法は?
- 20. sqliteデータベースに統一地形データを格納する方法は?
- 21. Entity Framework - XMLをデータベースに格納する方法
- 22. Codeigniterのセッションデータをデータベースに格納する方法は?
- 23. iPhone:sqliteデータベースにアポストロフィ( ')記号を格納する方法
- 24. localstorage ArrayをMySQLデータベースに格納する方法は?
- 25. ツリーベースのデータをデータベースに格納する方法は?
- 26. ストライプの顧客IDをデータベースに格納する方法
- 27. データベースにリピータ制御値を格納する方法
- 28. CellStyleオブジェクトをデータベースに格納する方法は?
- 29. Rails: "Chennai"に日付を格納する方法データベースのタイムゾーン
- 30. oracleデータベースに列挙型のオブジェクトを格納する方法
技術的には、バイト配列を16進化する代わりに、Base64 it( 'Convert.ToBase64String(bytes)')と24バイトの文字列を得ることができます。 – xanatos