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
|
MachineKey (Clase)
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.
Ensamblado: System.Web (en System.Web.dll)
El tipo MachineKey expone los siguientes miembros.
| 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>
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.