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

大変困っています。テーブルに暗号化して書き込むことはできました。ですがテーブルから引っ張ってこようとしたとき問題が起きました。
select * from tableとやると暗号化されたまま出てきました。問題ありません。
次に select * from table where aa = 'bb'
としたときに事件が起きました。一致するレコードがありません。どうして?
あ、そうか! select aes_decrypt(aa,'111') from table where aa = 'bb'一致するレコードがありません。
な、なぜだ?さっぱりわかりません。
暗号化してしまったレコードはwhere条件を指定できないのでしょうか?
もし、知っていらっしゃる方がいましたらどうか教えてください。
是非是非よろしくお願いします。

A 回答 (1件)

mysqlによる暗号化は使った事が無いのですが、暗号化された状態でデータが格納されている訳ですから、whereでの条件も暗号化して

検索してあげないといけないのでは?

この回答への補足

ありがとうございます。おかげで一致するレコードを発見することができました。
ですが新たな問題が・・・・・
一致するレコードは見つかったのですが
暗号化してあるところが空白で出てきてしまいます。
パスワードが間違えたかな?いや、間違いない。
decrypt()の構文はあっているかな?あっていた。
selectでdecryptを発行するときはどうやって発行すればいいか知っている方、よろしくお願いします。

補足日時:2005/06/30 17:05
    • good
    • 0

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

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A