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.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

MachineKey (Clase)

.NET Framework 4

Proporciona una manera de cifrar o aplicar un algoritmo hash (o ambos) a los datos utilizando los mismos algoritmos y valores de clave que se utilizan para las cookies de autenticación de formularios de ASP.NET y para el estado de vista.

System.Object
  System.Web.Security.MachineKey

Espacio de nombres:  System.Web.Security
Ensamblado:  System.Web (en System.Web.dll)
public static class MachineKey

El tipo MachineKey expone los siguientes miembros.

  Nombre Descripción
Método público Miembro estático Decode Descodifica y/o valida datos que se han cifrado o se han proporcionado con un código de autenticación de mensaje basado en hash (HMAC).
Método público Miembro estático Encode Cifra los datos y/o anexa un código de autenticación de mensaje basado en hash (HMAC).
Arriba
Excepción Condición
ArgumentNullException

Los datos para cifrar, aplicar un algoritmo hash, descifrar o validar no existen

La clase MachineKey proporciona métodos que exponen la lógica de hash y cifrado que ASP.NET proporciona. Para obtener información sobre qué cifrado y algoritmos hash ASP.NET utiliza y los valores de clave que utiliza con ellos, vea Elemento machineKey (Esquema de configuración de ASP.NET).

En el siguiente ejemplo se muestra cómo cifrar, aplicar un algoritmo hash, descifrar y validar una cadena. El código acepta una cadena que escribe el usuario, cifra los datos y les agrega un valor hash utilizando una llamada al método Encode(Byte[], MachineKeyProtection); a continuación, muestra los datos cifrados. A continuación, el código descifra y valida los datos cifrados en una llamada al método Decode(String, MachineKeyProtection) y muestra los datos descifrados en otra etiqueta. Los métodos Decode(String, MachineKeyProtection) y Encode(Byte[], MachineKeyProtection) aceptan un parámetro que especifica si deben cifrar o descifrar, aplicar un algoritmo hash o validar, o ambas cosas. En este ejemplo hacen ambos.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!string.IsNullOrEmpty(DataToEncrypt.Text))
        {
            Byte[] byteArray = 
                System.Text.Encoding.Unicode.GetBytes
                    (DataToEncrypt.Text);
            EncryptedData.Text = 
                System.Web.Security.MachineKey.Encode
                    (byteArray, MachineKeyProtection.All);

            DecryptedData.Text = 
                System.Text.Encoding.Unicode.GetString
                    (System.Web.Security.MachineKey.Decode
                        (EncryptedData.Text, MachineKeyProtection.All));
        }            
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>MachineKey Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <h1>MachineKey Example</h1>
        Enter a string to be encrypted: 
            <asp:TextBox ID="DataToEncrypt" runat="server">
            </asp:TextBox>
            <br />
        The encrypted value is: 
            <asp:Label ID="EncryptedData" runat="server" Text="">
            </asp:Label>
            <br />
        The decrypted value is: 
            <asp:Label ID="DecryptedData" runat="server" Text="">
            </asp:Label>
            <br />
        <asp:Button ID="EncryptDecrypt" runat="server" 
            Text="Encrypt and Decrypt" />
    </div>
    </form>
</body>
</html>


.NET Framework

Compatible con: 4

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.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.
¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar