MySQLのSHA256ハッシュの長さは?保存に適したデータ型も解説
SHA256ハッシュの長さについて
その名前のとおり、「SHA256」が生成するハッシュ値は256ビット長です。ここで重要なのは、これをどのように文字列として保存するかという点です。
一般的に、ハッシュ値は16進数表記で扱われます。16進数では1文字(1桁)あたり4ビットを表現できるため、256ビットを16進数で表すには以下の計算が必要になります。
256 ÷ 4 = 64文字
つまり、SHA256ハッシュを保存するカラムには、varchar(64) または char(64) を指定すれば十分です。固定長の char(64) を使えば、わずかに効率面でのメリットが期待できます。
サンプルテーブルの作成
実際にSHA256ハッシュを保存するためのテーブルを作成してみましょう。
mysql> create table SHA256Demo
-> (
-> Password char(64)
-> );
Query OK, 0 rows affected (0.54 sec)
レコードの挿入
次に、64文字のSHA256ハッシュ値をテーブルに挿入します。
mysql> insert into SHA256Demo values('a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e');
Query OK, 1 row affected (0.18 sec)
登録データの確認
すべてのレコードを表示して、正しく保存されているか確認します。
mysql> select * from SHA256Demo;
実行結果は以下のとおりです。
+------------------------------------------------------------------+ | Password | +------------------------------------------------------------------+ | a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e | +------------------------------------------------------------------+ 1 row in set (0.00 sec)
まとめ
- SHA256は名前のとおり256ビット長のハッシュアルゴリズムである。
- 16進数表記では1文字が4ビットに相当するため、ハッシュ値は64文字になる。
- 保存用カラムには
char(64)やvarchar(64)を使えば足りる。
-
MySQLルートパスワードをリセットまたは変更する方法【ALTER USERコマンド解説】
MySQLのrootパスワードをリセットまたは変更するには、まず管理者モードでMySQLにログインする必要があります。ログイン後、mysqlデータベースに切り替えて、登録されているすべてのユーザーとホスト情報を確認できます。 1. ユーザー一覧の確認 以下のクエリを実行して、現在存在するユーザーとホストの一覧を表示します。 SELECT user,host FROM user; 実行結果は次のとおりです。 +------------------+-----------+ | user | host | +------------------+------
-
MySQLコマンドラインでSQLステートメントの実行時間を確認する方法
MySQLコマンドラインでの実行時間の確認方法MySQLのコマンドラインでは、実行した各ステートメントに対して、その処理にかかった正確な時間が自動的に表示されます。特別な設定やコマンドは不要で、クエリを実行するだけで結果とともに実行時間を確認できます。ここでは、実際にテーブルを作成して動作を確認してみましょう。1. テーブルの作成まず、create table文でテーブルを作成します。mysql> create table DemoTable1589 -> ( -> EmployeeId int, -> EmployeeName varchar(