忍者ブログ

からすまる日誌

2020010703 ハッシュとソルト

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2020010703 ハッシュとソルト

森本さんにネットの修復を頼む

だめなら自分の4Gをこのパソコンにつなぐ方法を聞く
 


ログイン認証を作る

パスワード入力のinputは***になるようにしたい
→<input type="password">
 


database

users/3カラム

u_id
pass
nickname

はてな?u_idをAIにしてu_nameは別に持つと思ったがそうはしないのか

・パスワード文字数は時代とともに増える性質があるからintの長さは多めにとる
・パスワードはハッシュするのでその意味でも長くしておく理由がある

 


ハッシュをしなくちゃいけない
ハッシュ専用のphpの関数がある

むかしはmd5(関数名)というのが使われた
md('hoge');
とか。

<?php echo md5("hoge"); ?>
→出力結果
ea703e7aa1efda0064eaa507d9e8ab7e

しかしこれは総当たり的な解析をされて使えなくなった

クリプトというアルゴリズムが考え出された
技術用語でソルトという。ハッシュ+ソルトでハッシュする
自分が好きなキーワードを仕込んで置き、それを組み合わせてハッシュするのでわかりにくくなる

いまはこのソルトを入れるのが常識。

ソルト自身をランダムに作り、しかもハッシュして、それを純粋にパスワードをハッシュしたものに内在させるという最新の手法がうまれた

同じ文字列をハッシュするたびに毎回違う値が出る

password_hash();

<?php echo password_hash("hoge",PASSWORD_DEFAULT); ?>

全部大文字は定数。バージョンがかわってもよろしく動く

第3引数をなしにするとランダムにソルトが生成

出力結果
$2y$10$S5H/GyQ72m8JdxWwMy3Gq.ulJwuaAEDtMVVZlhuw5ThtZqbE8uYba

$2y$10$YrpJTQZFk0zD9s7b.WNAmuSaSLkmYSuiUsfS.eJ1Wr6Un.nRPrGdq

$2y$10$.NTFtovLqwrqWTkKqXM7BOIifMZkww5EoIpBIYxgvTHkBz15wF/d.
 


みなさんpassをhogehogeで統一するよ

①でてきたものをこぴる
$2y$10$PQbARvt2wZI229dF1vAN9Ob1Tgia2xTkJvZbhq4YglLy0a.lwx8GS

②myadminの「挿入」でそれを入れる

password_hash();

第一 ハッシュする文字列
第二 PASSWORD_DEFAULT(固定)
第三 書かない
 


検証する関数
password_verify();
 
引数1 送信された値(平文)
引数2 ハッシュ済み値(DBに登録されているハッシュされたやつ)

PR

コメント

ブログ内検索

カレンダー

03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30