プログラムのコードにパスワードを直接書いたプログラムをコンパイルして、EXEを作ります。作ったプログラムをバイナリエディタ等でみるとそのままパスワードが丸見えになってしまいます。
プログラムのコード中にパスワードを指定する必要がある場合などはどのようにすればいいでしょうか?
バイナリエディタでexeを見る……という事は、VB6かな?
VB.NETなら、ildasm や Reflector等で見るでしょうから。
で、VB6の場合の対応策としては:
バイナリにパスワードが平文で埋め込まれていなければよいなら
→「S = "Pass"」ではなく、たとえばChr関数等を用いて、
「S = Chr(&H50) & Chr(&H61) & String(2, &H73)」のようにする
一致性のチェックに使うパスワードの場合であれば
→不可逆暗号化しておく。(MD5等)
SQL Serverへの接続に使うパスワードの場合なら
→SQL Server認証ではなく、Windows認証を採用する。
その他、可逆暗号を含めなければならない場合には
→Crypt APIを試してみる。
>バイナリにパスワードが平文で埋め込まれていなければよいなら
> →「S = "Pass"」ではなく、たとえばChr関数等を用いて、
> 「S = Chr(&H50) & Chr(&H61) & String(2, &H73)」のようにする
暗号化などは面倒なので、上記の方法でやってみたいと思います。
ありがとうございました。
VB.NETでもDBの接続文字列とかstringでそのまま持つと
バイナリエディタで見るとそのまま見えます
のでTripleDESCryptoServiceProviderで暗号化した文字列を持たせて
プログラム内で複号化しています
ツイート | ![]() |