新人PGの学び

プログラマーの卵のlog

暗号化と複合化

復号化出来かつ安易に解読されない手法
ハッシュの作り方もMD5やSHAだけでなく、phpではpassword_hashというハッシュ化させてパスワードを返す関数がある。
本来、不可逆的なものだが、レインボーテーブルを使用したレインボー攻撃という方法によって、推測されうる平文とハッシュ値をテーブル化するため、解読自体には時間がかかるようですが、短時間で解読されてしまうようだ。



メモ
可逆的暗号化の方法を調べ、phpのデータを暗号化するmcrypt_generic関数を用いた。
暗号化方法では、base64でエンコードしたものをmcrypt_genericで暗号化し、更にそれをbase64でエンコードし、復号化方法としては、base64でデコードし、mdecrypt_genericで復号化しbase64でデコードすることにしました。
base64とmcrypt_genericの関数と再度base64を組み合わせる3段手法によってパスワードを複雑化させた。


参考になるサイト

【PHP】GETとPOSTの違い、使い分けと使い方を紹介