Compartir a través de


Ejemplo Symmetric Algorithms

Actualización: noviembre 2007

En este ejemplo se utilizan las clases Rijndael y TripleDESCryptoServiceProvider para implementar un cifrado simétrico (clave secreta), como se describe en Información general sobre criptografía.

Para obtener ejemplos e instrucciones para la instalación

  • Siga uno o varios de los procedimientos siguientes:

    • En el menú Ayuda, haga clic en Ejemplos.

      El archivo Léame muestra información sobre los ejemplos.

    • Visite el sitio web Visual Studio 2008 Samples. Están disponibles las versiones de ejemplos más recientes.

    • Busque los ejemplos en el equipo en el que está instalado Visual Studio. De manera predeterminada, los ejemplos y el archivo Léame se instalan en unidad:\Archivos de programa\Microsoft Visual Studio 9.0\Samples\lcid. Para las versiones Express de Visual Studio, todos los ejemplos están en línea.

Para obtener más información, vea Localizar archivos de ejemplo.

.

Nota de seguridad:

En este ejemplo de código se ilustra un concepto y únicamente se muestra el código correspondiente a dicho concepto. Es posible que no cumpla los requisitos de seguridad de un entorno concreto y, por tanto, no debería utilizarse tal y como se muestra. Se recomienda agregar código de seguridad y de control de errores para que los proyectos sean más seguros y sólidos. Microsoft proporciona este ejemplo "tal cual" sin ninguna garantía.

Para ejecutar este ejemplo

  • Presione F5.

Demostraciones

La claseSampleCryptoencapsula el algoritmo de cifrado, el vector de inicialización (IV) y "salt" y las rutinas de cifrado y descifrado que definen un archivo cifrado. El constructor toma un parámetro que determina el tipo de cifrado, Rijndael o TripleDES. El campo correspondiente de la clase, crpSym, es del tipo abstracto SymmetricAlgorithm. Se establece en una instancia de las clases Rijndael o TripleDESCryptoServiceProvider. El método CreateSaltIVFile guarda los valores salt y IV en un archivo .dat. Los métodos Decrypt y Encrypt procesan el archivo de código fuente especificado en la propiedad SourceFileName.

Al cargar el formulario, se crea una instancia de la claseSampleCrypto. Los controles del formulario muestran los métodos y propiedades de la claseSampleCrypto. Cuando está activado el control Encrypt with Password, la clave no se genera y se establece automáticamente, pero se obtiene una contraseña representada por el algoritmo "salt". Por otra parte, el vector de inicialización (IV) y "salt" se guardan en un archivo .dat no cifrado. De este modo, puede ver con qué grado de seguridad puede enviar un documento a alguien: el documento cifrado podría enviarse utilizando una conexión que no es segura y el archivo .dat y la contraseña podrían transferirse de modo seguro utilizando un cifrado asimétrico (o clave pública). Este tipo de cifrado es la forma de cifrado más segura, pero tarda mucho más tiempo en procesarse. Ésta es la razón por la que normalmente se utiliza en elementos pequeños, como una clave secreta, un archivo salt o IV o una contraseña.

Vea también

Conceptos

Modelo de criptografía de .NET Framework

Referencia

TripleDESCryptoServiceProvider

Rijndael

SymmetricAlgorithm

Salt

IV