プロが教えるわが家の防犯対策術!

お世話になります。

現在、会員登録フォームを作成しており入力されたパスワードをcryptで暗号化しDBに登録させる処理をコーディング中です。

以下の文で暗号化を行おうと試みたのですが、DB内では文字制限が16文字以内となっているため、暗
号化した長い文字列では登録が不可能です。
$setpasswordは入力されたパスワードの文字列が格納されます。
---
$encrypted_password = crypt($setpassword);
---
DBを弄ることができませんので、どうにか暗号化文字列を16文字以内に抑える方法がないものかと思っております。

お力添えよろしくお願い致します。

A 回答 (1件)

その文字列制限というのがどのような仕様なのかわからないのでなんともいえませんが


考え方は3つ

・パスワードなんて所詮非可逆なものなので復号化する必要はないので
先頭の16文字だけ保存しておいて合致させればある程度パスワードの用をなします
ただし全く別のパスワード入力がたまたま同じになる可能性はあります

・暗号化されたデータを複数のカラムに振り分ける

・そもそも暗号化しない(セキュリティ的にはありえない)
    • good
    • 1
この回答へのお礼

回答ありがとうございます!
crypt関数に第二引数をかませることで、13文字に抑えることができました。

お礼日時:2016/09/07 10:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!