読者です 読者をやめる 読者になる 読者になる

SecureStringへ文字列を設定する方法とStringとして取り出す方法

C Sharp

C#にて、SecureStringへ文字列を設定する方法と、SecureStringからStringとして取り出す方法です。
SecureStringへの設定はこんな感じでできました。

//プレーンテキストをストリングにセット
string plainPassText = "PASSWORDTEXT";

//SecureStringオブジェクトを作成
System.Security.SecureString secStr = new System.Security.SecureString();

//AppendChareで一文字づつ追加
foreach (char c in plainPassText)
    secStr.AppendChar(c);


逆にSecureString オブジェクトの内容をStringのテキストとして取り出したい場合はこんな感じでできます。

System.Console.WriteLine(Marshal.PtrToStringUni(Marshal.SecureStringToGlobalAllocUnicode(secStr)));
>PASSWORDTEXT