- ベストアンサー
VB2008でTextBoxの内容を暗号化する方法
- VB2008にて、TextBoxに入力された内容を暗号化する方法について教えてください。
- ログイン画面作成のために、TextBoxの内容をテーブルのデータと同じやり方で暗号化する必要があります。
- 暗号化には、Olacleの「dbms_obfuscation_toolkit.desencrypt(str, key, cry)」を使用する方法があるようですが、具体的な記述方法がわかりません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ふと気になり、質問を読み返すと・・・ 先程の回答は大いなる私の勘違いのようですね。 つまりはdbms_obfuscation_toolkit.desencrypt(str, key, cry)の使い方を知りたいってことですか http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_pl10.htm http://www.atmarkit.co.jp/fsecurity/rensai/dbsec04/dbsec01.html を参考に SQL文は通常の関数と同じように書けばよいみたいです。
その他の回答 (1)
- noah7150
- ベストアンサー率46% (116/251)
私的感覚ですので的を得た回答ではないかもしれませんが・・・ (正確には的を射たですが) 暗号化する目的って、もしも漏洩しても悪用されないためですよね ログイン画面で暗号化した文字列と同じか比較するって意味がないのでは? だってDBを直接読み込み得られた文字列がそのままパスワードになるわけですよね それでは本末転倒のような気がします。 私が考えるなら ユーザー名は普通にテキストボックで入力 パスワードはPassWordCharプロパティーで*を指定してユーザーが覚えやすい文字列として入力させ DB上のパスワードに暗号化した内容で保存しておき 読み込みの比較で Select Count(*) from xxx where userid = '入力ユーザーID' and password = dbms_obfuscation_toolkit.desencrypt('入力パスワード', key, cry) とするのですが・・・ どうでしょうか? □最近、Oracle使ってないので暗号化機能を知りませんでした。 □SQL Serverでの暗号化と同じように考えてます。
補足
回答ありがとうございます。 早速、ご提示いただいた内容でソースを書いてみたのですが、 dbms~の、('入力パスワード', key, cry)という部分ですが、keyとcryには、どのような設定が必要なのでしょうか? keyは暗号化キー文字列、cryは暗号化文字列というのは分かるのですが・・・それをVB上でどう記述すればよいかを教えていただけないでしょうか。
お礼
noah7150さん、二度も回答していただきありがとうございます。 ご提示いただいた情報を元にソースを書いてみようと思います。
補足
二度も回答していただきありがとうございます。 大変恐縮ですが、そちらのサイトも拝見させていただいたのですが、 やはり(str, key, cry)の部分の設定が分かりません。 VB上でdbms_obfuscation_toolkit.desencryptのSQLを発行することは出来ないのでしょうか?