Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

SecureString (Clase)

Representa texto que se debe mantener confidencial. El texto se cifra por cuestiones de privacidad cuando se utiliza, y se elimina de la memoria del equipo cuando deja de ser necesario. Esta clase no puede heredarse.

System.Object
  System.Security.SecureString

Espacio de nombres:  System.Security
Ensamblado:  mscorlib (en mscorlib.dll)

public sealed class SecureString : IDisposable

El tipo SecureString expone los siguientes miembros.

  NombreDescripción
Método públicoSecureString()Inicializa una nueva instancia de la clase SecureString.
Método públicoSecureString(Char*, Int32)Infraestructura. Inicializa una nueva instancia de la clase SecureString desde una submatriz de objetos System.Char.
Arriba

  NombreDescripción
Propiedad públicaLengthObtiene el número de caracteres de la cadena segura actual.
Arriba

  NombreDescripción
Método públicoAppendCharAnexa un carácter al final de la cadena segura actual.
Método públicoClearElimina el valor de la cadena segura actual.
Método públicoCopyCrea una copia de la cadena segura actual.
Método públicoDisposeLibera todos los recursos utilizados por el objeto SecureString actual.
Método públicoEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método públicoGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoInsertAtInserta un carácter en esta cadena segura en la posición de índice especificada.
Método públicoIsReadOnlyIndica si esta cadena segura está marcada como de sólo lectura.
Método públicoMakeReadOnlyHace que el valor de texto de esta cadena segura sea de sólo lectura.
Método públicoRemoveAtQuita de esta cadena segura el carácter que se encuentra en la posición de índice especificada.
Método públicoSetAtReemplaza con otro carácter el carácter existente en la posición de índice especificada.
Método públicoToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

Una instancia de la clase System.String es inmutable y, cuando ya no se necesita, no se puede planear mediante programación para la recolección de elementos no utilizados; es decir, la instancia es de sólo lectura una vez creada y no es posible predecir cuándo se eliminará de la memoria del equipo. Por consiguiente, si un objeto String contiene información confidencial, como una contraseña, un número de tarjeta de crédito o datos personales, existe el riesgo de que la información se pueda revelar una vez utilizada, porque la aplicación no puede eliminar los datos de la memoria del equipo.

Nota importanteImportante

Este tipo implementa la interfaz IDisposable. Cuando haya terminado de utilizar el tipo, se debe eliminar de directa o indirectamente. Para desechar de tipo directamente, llame al método de Dispose en un bloque de try/decatch . Para desechar de indirectamente, utilice una construcción de lenguaje como using (en C#) o Using (en Visual Basic). Para obtener más información, vea “Uso de objeto que implementa sección IDisposable” en el tema de la interfaz de IDisposable .

Un objeto SecureString es similar a un objeto String en que tiene un valor de texto. Sin embargo, el valor de un objeto SecureString se cifra automáticamente, se puede modificar hasta que la aplicación lo marque como de sólo lectura, y puede ser eliminado de la memoria del equipo por la aplicación o por el recolector de elementos no utilizados de .NET Framework.

El valor de una instancia de SecureString se cifra automáticamente cuando se inicializa la instancia o se modifica el valor. La aplicación puede hacer que la instancia sea inmutable y evitar modificaciones posteriores llamando al método MakeReadOnly.

Observe que SecureString no tiene ningún miembro que inspeccione, compare o convierta el valor de una clase SecureString. La ausencia de dichos miembros ayuda a proteger el valor de la instancia de la revelación accidental de datos o de la exposición malintencionada. Utilice los miembros adecuados de la clase System.Runtime.InteropServices.Marshal, como el método SecureStringToBSTR, para manipular el valor de un objeto SecureString.

La clase SecureString y sus miembros no son visibles para COM. Para obtener más información, vea ComVisibleAttribute.

Nota de la plataforma Windows 2000: Además de Windows 2000 Service Pack 4 y posterior, SecureString se admite en Windows 2000 Service Pack 3.

Nota de la plataforma Windows 95, Windows 98, Windows 98 Segunda Edición, Windows Millennium Edition: Las clase SecureString no se admite en Windows 98 ni en Windows Millennium Edition.

En el siguiente ejemplo se muestra cómo utilizar SecureString para proteger la contraseña de un usuario para usarla como una credencial para iniciar un nuevo proceso.


using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Security;

public class Example
{
    public static void Main()
    {
        // Instantiate the secure string.
        SecureString securePwd = new SecureString();
        ConsoleKeyInfo key;

        Console.Write("Enter password: ");
        do {
           key = Console.ReadKey(true);

           // Ignore any key out of range.
           if (((int) key.Key) >= 65 && ((int) key.Key <= 90)) {
              // Append the character to the password.
              securePwd.AppendChar(key.KeyChar);
              Console.Write("*");
           }   
        // Exit if Enter key is pressed.
        } while (key.Key != ConsoleKey.Enter);
        Console.WriteLine();

        try
        {
            Process.Start("Notepad.exe", "MyUser", securePwd, "MYDOMAIN");
        }
        catch (Win32Exception e)
        {
            Console.WriteLine(e.Message);
        }
    }
}


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft