• ベストアンサー

フリーソフトを作成する時、パスワードをINIに保存させる時暗号化するには?

フリーソフトを仮に作るとして、パスワードを設定しないと 変更することのできない設定項目があるとして、 そこに入力したパスワードをINIファイルに保存しておきたいと 考えます。 しかし、ただパスワードをINIファイルに保存しただけでは INIファイルの場所がわかればすぐに中身を開いて判別されてしまう と思います。 あるフリーソフトで同じようなことをやっていたのですが、 そのソフトのINIファイルには Password=83BBB6C5B8C5B6C5C4 みたいな感じになっていました。 こういう風に保存するにはどのようにすればよいのでしょう? また、プログラム内でどのように戻しているのでしょうか? どなたか教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.3

暗号化なんてものは、要するに解読されないようにするものなので 人に聞いたりしてやっても、意味があるかどうか・・・。 まぁ、どの程度のものって言うのもありますが参考に。 パスワード元文字列:hoge パスワード暗号化文字列:686f6765 各文字をAsciiに変換してそれを16進に変換したサンプル。 pw1 = "hoge" For i = 1 To Len(pw) pw2 = pw2 & " " & Hex(Asc(Mid(pw1, i, 1))) Next 暗号化文字列を元に戻すサンプル。 For i = 1 To Len(pw2) Step 2 pw3 = pw3 & Chr("&H" & Mid(pw2, i, 2)) Next 結果:pw1 = pw3 になります。 まぁ、単純なものはこんな感じでも出来ますね。 要するにどのようにもとの文字列がわからなくするかが暗号化ですから ご自分なりの方法を考えてやってみるのがいいと思いますよ。

その他の回答 (2)

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.2

パスワードの暗号化についての考え方はこちらを参考にしてください。 要約すると、 ・一方向関数の結果をパスワードとして保存 ・認証時に入力されたパスワードを同じ一方向関数を通し、保存したものと比較する ということです。 http://www.tokix.net/texts/017/4.html Windowsには、APIにcryptが実装されているようなのでそれを使えばいい ようですが、詳しいことは調べていません。 めんどうなら、こんなツールを使う手もありますが... http://www.vector.co.jp/ys/soft/win95/util/se207325.html

GBSGBS
質問者

補足

うーん、よく分かりません・・ 上のツールを使用しようとしてみたのですが、 暗号化できません、複合化できまえせんと うまく動きません・・。 もっと簡単なサンプルはないでしょうか・・

  • Spur
  • ベストアンサー率25% (453/1783)
回答No.1

cryptでの暗号化だと思います。

関連するQ&A

専門家に質問してみよう