データベースを暗号化する際に、MySQLのAES_ENCRYPTを主に使う様になるかと思います。
※AES_ENCRYPTを既に知っているのを前提としています。
そのAES_ENCRYPT(MySQL)で暗号化したものをPHPで復号化したい時に、少しハマったので記事にしておきます。
MySQLで復号化する際は下記の様になるかと思います。
#暗号化方式を指定 デフォルトは「aes-128-ebc」 SET block_encryption_mode = 'aes-128-ebc'; #暗号化してあるデータを復号化して取得 SELECT AES_DECRYPT(FROM_BASE64(カラム名), 'パスワード') FROM テーブル名AES_DECRYPTの中にある「FROM_BASE64」がありますが、base64エンコードしてあるものを元に戻しています。
//暗号化するとBASE64エンコードされた状態で返却される $result = openssl_encrypt("暗号化するデータ", "aes_128_ebc", "パスワード");これでPHPで暗号化し、データベースにインサートしてMySQLで復号化する事が出来る様になったはず...と思っていたのですが
無料相談・お問い合わせ Web制作・システム開発に関する
ご相談はこちらよりご連絡ください。
お客様のビジネスの成長と成功を支えるパートナーとして、
どんなご相談でもお待ちしております。お気軽にお問い合わせください。