SecureString.MakeReadOnly メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > SecureString.MakeReadOnly メソッドの意味・解説 

SecureString.MakeReadOnly メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

このセキュリティ文字列テキスト値を読み取り専用にします。

名前空間: System.Security
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub MakeReadOnly
Dim instance As SecureString

instance.MakeReadOnly
public void MakeReadOnly ()
public:
void MakeReadOnly ()
public void MakeReadOnly ()
public function MakeReadOnly ()
例外例外
例外種類条件

ObjectDisposedException

このセキュリティ文字列は、既に破棄されています。

解説解説

SecureString コンストラクタ使用して、SecureString クラスインスタンステキスト値を初期化します。値を変更するには、Clear、RemoveAt、SetAt、InsertAt、AppendChar の各メソッド使用します

変更終わったら、MakeReadOnly メソッド使用してインスタンスの値を変更不可 (読み取り専用) にします。値を読み取り専用としてマークした後は、変更しようとすると必ず InvalidOperationException がスローさます。

セキュリティ文字列を再び変更可能にする方法はないため、MakeReadOnly実行による効果永続的です。SecureStringインスタンス読み取り専用かどうか確認するには、IsReadOnly メソッド使用します

使用例使用例

AppendChar メソッドおよび RemoveAt メソッド使用してパスワード内の文字収集する方法次のコード例示します収集後、パスワード読み取り専用なります

' This example demonstrates using the AppendChar and RemoveAt 
' methods to collect a password.

Imports System
Imports System.Security

Class Sample
   Public Shared Sub Main()
      Dim cki As ConsoleKeyInfo
      Dim m1 As String =
 "(This example simulates entering a password. "
 & _
                         "Do not enter an actual password.)"
 & vbCrLf
      Dim m2 As String =
 "Enter your password (up to 15 letters, numbers, and underscores)"
 & vbCrLf & "Press BACKSPACE to delete the last character entered. " & vbCrLf & _
                         "Press ESCAPE to quit:"
      Dim password As New
 SecureString()
      Dim top, left As Integer
      '
      ' The Console.TreatControlCAsInput property prevents this example
 from
      ' ending if you press CTL+C, however all other operating system
 keys and 
      ' shortcuts, such as ALT+TAB or the Windows Logo key, are still
 in effect. 
      ' Each input character is assumed to occupy one screen column.
      '
      Console.TreatControlCAsInput = True

      Console.Clear()
      Console.WriteLine(m1)
      Console.WriteLine(m2)

      top = Console.CursorTop
      left = Console.CursorLeft

      ' Read user input from the console. Store up to 15 letter, digit,
 or underscore
      ' characters in a SecureString object, or delete a character if
 the user enters 
      ' a backspace. Display an asterisk (*) on the console to represent
 each character 
      ' that is stored.
      
      While True
         cki = Console.ReadKey(True)
         If cki.Key = ConsoleKey.Escape Then
            Exit While
         End If
         If cki.Key = ConsoleKey.BackSpace Then
            If password.Length > 0 Then
               Console.SetCursorPosition(left + password.Length - 1, top)
               Console.Write(" "c)
               Console.SetCursorPosition(left + password.Length - 1, top)
               password.RemoveAt(password.Length - 1)
            End If
         Else
            If password.Length < 15 AndAlso([Char].IsLetterOrDigit(cki.KeyChar)
 _
            OrElse cki.KeyChar = "_"c)
 Then
               password.AppendChar(cki.KeyChar)
               Console.SetCursorPosition(left + password.Length - 1, top)
               Console.Write("*"c)
            End If
         End If
      End While

      ' Make the password read-only to prevent it from being modified
 after it has 
      ' been collected. 

      password.MakeReadOnly()
   End Sub 'Main
End Class 'Sample
'
'This example produces results similar to the following text:
'
'(This example simulates entering a password. Do not enter an actual
 password.)
'
'Enter your password (up to 15 letters, numbers, and underscores)
'Press BACKSPACE to delete the last character entered.
'Press ESCAPE to quit:
'***************
'
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SecureString クラス
SecureString メンバ
System.Security 名前空間
IsReadOnly



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

SecureString.MakeReadOnly メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SecureString.MakeReadOnly メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS