La manera más popular de hacer esto es utilizando un algoritmo de hash. Hay una excelente blog post here acerca de cómo usar el algoritmo MD5 para hash una cadena, pero hay muchos otros ejemplos en el espacio de nombres System.Cryptography
.
En cuanto a # 2, la guía general paso a paso para cómo funcionaría sería el siguiente:
En el registro:
- hash de la contraseña de un usuario mediante el algoritmo especificado y almacenarla en la base de datos
- Salt este hash (opcional, pero preferido)
El usuario/usuario & contraseña de verificación:
- Busque en la base de datos para el nombre de usuario
- Si existe, recuperar la contraseña con algoritmo hash
- Hash y la sal de la contraseña introducida y compararlo con el recuperado contraseña
Todo es relativamente largo, pero es muy seguro.
Hay otra guía muy detallada sobre hashing y salazón here.
que aquí hay una lib para esto: http://encrypto.codeplex.com/ – Omu