C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: ユーザ情報


(過去ログ 40 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■20487 / inTopicNo.1)  ユーザ情報
  
□投稿者/ adrian_beltre (10回)-(2008/06/11(Wed) 09:51:11)

分類:[C#] 

レジストリにユーザのString型パスワードを保存したのですが、やり方がわかりません。やり方がわかる方は教えてくださいお願いいたします。

開発環境 Microsoft Visual Studio 2005
開発言語 C#
引用返信 編集キー/
■20493 / inTopicNo.2)  Re[1]: ユーザ情報
□投稿者/ じゅで (35回)-(2008/06/11(Wed) 10:16:03)
No20487 (adrian_beltre さん) に返信
> レジストリにユーザのString型パスワードを保存したのですが、やり方がわかりません。やり方がわかる方は教えてくださいお願いいたします。
>
> 開発環境 Microsoft Visual Studio 2005
> 開発言語 C#

いくつか方法があります。

一つは、VBの組み込み関数を使う事です。
C#からでも使用できます。


もう一つは、APIを呼ぶ事です。

そして、最後は、Registryクラスなどを使用する方法です。
(これは使った事がないのでなんとも・・・)

以下にサンプルのURLを貼り付けておきます。

http://www.microsoft.com/japan/msdn/vbasic/migration/tips/registry.aspx

http://www.atmarkit.co.jp/fdotnet/dotnettips/124regset/regset.html

http://www.microsoft.com/japan/msdn/vbasic/migration/tips/registry.aspx
引用返信 編集キー/
■20496 / inTopicNo.3)  Re[2]: ユーザ情報
□投稿者/ adrian_beltre (11回)-(2008/06/11(Wed) 10:40:49)
No20493 (じゅで さん) に返信

じゅで さん

ご回答ありがとうございます。2番目のやり方でやりたいと思います。これで登録方法はわかりました。できればレジストリに格納したデータを読み出す方法を教えていただけますか?


> ■No20487 (adrian_beltre さん) に返信
>>レジストリにユーザのString型パスワードを保存したのですが、やり方がわかりません。やり方がわかる方は教えてくださいお願いいたします。
>>
>>開発環境 Microsoft Visual Studio 2005
>>開発言語 C#
>
> いくつか方法があります。
>
> 一つは、VBの組み込み関数を使う事です。
> C#からでも使用できます。
>
>
> もう一つは、APIを呼ぶ事です。
>
> そして、最後は、Registryクラスなどを使用する方法です。
> (これは使った事がないのでなんとも・・・)
>
> 以下にサンプルのURLを貼り付けておきます。
>
> http://www.microsoft.com/japan/msdn/vbasic/migration/tips/registry.aspx
>
> http://www.atmarkit.co.jp/fdotnet/dotnettips/124regset/regset.html
>
> http://www.microsoft.com/japan/msdn/vbasic/migration/tips/registry.aspx
引用返信 編集キー/
■20498 / inTopicNo.4)  Re[3]: ユーザ情報
□投稿者/ はつね (776回)-(2008/06/11(Wed) 11:02:41)
はつね さんの Web サイト
No20496 (adrian_beltre さん) に返信
> ご回答ありがとうございます。2番目のやり方でやりたいと思います。これで登録方法はわかりました。
> できればレジストリに格納したデータを読み出す方法を教えていただけますか?

2番目の方法ってAPIを呼ぶ方法ですか?
それとも最後の方法の2つめのURLのことですか?

最後の方法の2つめのURLであれば、その記事の中にデータを読み出す方法についても記載があると思うのですけれど。

引用返信 編集キー/
■20499 / inTopicNo.5)  Re[4]: ユーザ情報
□投稿者/ adrian_beltre (12回)-(2008/06/11(Wed) 11:06:46)
No20498 (はつね さん) に返信

はつねさん

ご指摘ありがとうございます。これで悩みが解決しました。


解決済み
引用返信 編集キー/
■20502 / inTopicNo.6)  Re[5]: ユーザ情報
□投稿者/ ちゃっぴ (118回)-(2008/06/11(Wed) 11:24:06)
ちゃっぴ さんの Web サイト
というかこれ大丈夫?

Windows 自体の機能で password を registry に保存していることありますけど、簡単には扱えないところに暗号化して保存しています。
そういうのを見習ったほうがいいと思うんですけど。

興味があったら DPAPI について調査してみてください。
引用返信 編集キー/
■20503 / inTopicNo.7)  Re[6]: ユーザ情報
□投稿者/ επιστημη (1080回)-(2008/06/11(Wed) 11:31:41)
επιστημη さんの Web サイト
2008/06/11(Wed) 11:32:37 編集(投稿者)

> Windows 自体の機能で password を registry に保存していることありますけど、簡単には扱えないところに暗号化して保存しています。
> そういうのを見習ったほうがいいと思うんですけど。

ハダカで置いとくのはいくらなんでも危険よねー
せめて服くらい着せとけと。
引用返信 編集キー/
■20505 / inTopicNo.8)  Re[6]: ユーザ情報
□投稿者/ じゅで (36回)-(2008/06/11(Wed) 11:40:06)
レジストリにストリング型のパスワードで、そのまんま、レジストリに書き込む事だけを
考えていました。

と言う事で、追加情報

Data Protection API(DPAPI)
http://www.atmarkit.co.jp/fdotnet/entlib/entlib08/entlib08_01.html
(どんぴしゃじゃないですよ、文章をよく読んで、リンクに飛びましょう)

そして、もう一つの方法が、暗号化などのセキュリティに関するクラス。
http://msdn.microsoft.com/ja-jp/library/system.security.cryptography.descryptoserviceprovider(VS.80).aspx
(DESCryptoServiceProviderクラス。こっちはどんぴしゃで文字列の暗号化などのサンプルがのっています。)

引用返信 編集キー/
■20508 / inTopicNo.9)  Re[1]: ユーザ情報
□投稿者/ 高見知英 (4回)-(2008/06/11(Wed) 12:30:13)
高見知英 さんの Web サイト
ふれられていないようですが、暗号化はしなくてもよいのですか?レジストリとはいえレジストリビューアを使えば丸見えですし。

暗号化の形式にも寄ると思いますが、場合によってはバイナリにして保存した方が早いかも? などと思いました。
自分にはそういうことをした経験がないので深くはお答えできませんが。
引用返信 編集キー/
■20820 / inTopicNo.10)  Re[2]: ユーザ情報
□投稿者/ adrian_beltre (13回)-(2008/06/17(Tue) 12:10:08)
επιστημηさん
高見知英 さん

public Boolean setPassword(string input){

string str = input;
//ここはそのうち改良 現在は"ISL"で固定
byte[] data = Encoding.Unicode.GetBytes(input);

SHA512 sha = new SHA512Managed();
// This is one implementation of the abstract class SHA1.
password = sha.ComputeHash(data);

// 設定する値のデータ
byte[] location = password; // REG_SZ型

// レジストリの設定と削除
try
{
// レジストリ・キーを新規作成して開く
RegistryKey rKey = Registry.LocalMachine.CreateSubKey(rKeyName);

// レジストリの値を設定
rKey.SetValue(ValueName, location);

// 開いたレジストリを閉じる
rKey.Close();

//設定したレジストリの値をコンソールに表示
//Console.WriteLine(location);
return true;
}

catch (Exception ex)
{
// レジストリ・キーが存在しない
MessageBox.Show("パスワードを設定できませんでした。");
return false;
}

}

これで暗号化(服を着せて)してレジストリに格納しているつもりですが、まだよろしくはないですか?

引用返信 編集キー/
■20823 / inTopicNo.11)  Re[3]: ユーザ情報
□投稿者/ Jitta on the way (115回)-(2008/06/17(Tue) 12:28:19)
SHA って、ハッシュでは?それでいいの?
引用返信 編集キー/
■20824 / inTopicNo.12)  Re[4]: ユーザ情報
□投稿者/ れい (668回)-(2008/06/17(Tue) 12:47:17)
No20820 (adrian_beltre さん) に返信
> これで暗号化(服を着せて)してレジストリに格納しているつもりですが、まだよろしくはないですか?

> ■No20823 (Jitta on the way さん) に返信
> SHA って、ハッシュでは?それでいいの?

自分で認証機構を作るのだったらこれでいいと思います。

暗号化して保存したとしても、複合キーをどうするかに困って、堂々巡りです。
パスワードはハッシュで記録しておいて、
照合する際にもハッシュで照合するのが安全です。

他のシステムに対するパスワードだと
パスワードそのものを取得できないといけませんから
これではだめですが。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -