Almacenar password cifrada

13/01/2004 - 10:38 por Kasiyas | Informe spam
Hola a todos,

Alguien sabe si existe alguna forma fácil de almacenar una contraseña
(cifrada por supuesto, para que nadie la pueda ver) que utilizo durante la
ejecución de un programa, en el archivo de configuración .config o en un
archivo de texto cualquiera (tambien creo que se podría en el Registro de
Windows), para que cada vez que lo ejecute no tenga que volver a teclearla?
Se que hay muchas aplicaciones de windows que tienen que hacer algo parecido
(Outlook Express, Messenger, etc...) que guardan las passwords, pero no se
como lo hacen.
He estado mirando en System.Cryptographic pero no se con que algoritmo se
cifra una contraseña de forma sencilla, además no se que información
necesito guardar para que luego pueda hacer el descifrado (Vector de
Inicialización, Salt, etc...) y/o si debería cifrar tb esa información.

Bueno espero que se me haya entendido algo de lo que expongo.

Un saludo a todos y gracias por adelantado.

Preguntas similare

Leer las respuestas

#1 Rodrigo Corral González
13/01/2004 - 11:54 | Informe spam
Hechale un vistazo a HashPasswordForStoringInConfigFile


Rodrigo Corral González

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net
Respuesta Responder a este mensaje
#2 Rodrigo Corral González
13/01/2004 - 11:59 | Informe spam
Estos articulos tambien son interesantes:

Security Briefs: Hashing Passwords, The AllowPartiallyTrustedCallers
Attribute -- MSDN Magazine, August 2003
http://msdn.microsoft.com/msdnmag/i...itybriefs/

Protect It: Safeguard Database Connection Strings and Other Sensitive
Settings in Your Code -- MSDN Magazine, November 2003
http://msdn.microsoft.com/msdnmag/i...fault.aspx

Rodrigo Corral González

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net
Respuesta Responder a este mensaje
#3 Michael Giagnocavo [MVP]
13/01/2004 - 14:41 | Informe spam
Lo que hace Windows es usar algo llamado el Data Protection API. El DPAPI
puede ser utilizado para que solo el usuario actual pueda
encriptar/desencriptar. Si alguien reseta su contrasena (no cambiarlo, pero
hacer un reset), los datos seran borrados (lo cual es bueno).

Basicamente, llamas a CryptProtectData, y te devuelve un string. Llamas a
CryptUnprotectData, y te regresa tus bytes originales. Para obtener los
bytes, usa System.Text.Encoding.UTF8.GetBytes().

En este articulo de MSDN, se describa como hacer una clase in .NET para
encapsular al DPAPI. Debes usar el User Store, no el machine store.

http://msdn.microsoft.com/library/e...etHT07.asp

-mike
MVP

"Kasiyas" wrote in message
news:
Hola a todos,

Alguien sabe si existe alguna forma fácil de almacenar una contraseña
(cifrada por supuesto, para que nadie la pueda ver) que utilizo durante la
ejecución de un programa, en el archivo de configuración .config o en un
archivo de texto cualquiera (tambien creo que se podría en el Registro de
Windows), para que cada vez que lo ejecute no tenga que volver a


teclearla?
Se que hay muchas aplicaciones de windows que tienen que hacer algo


parecido
(Outlook Express, Messenger, etc...) que guardan las passwords, pero no se
como lo hacen.
He estado mirando en System.Cryptographic pero no se con que algoritmo se
cifra una contraseña de forma sencilla, además no se que información
necesito guardar para que luego pueda hacer el descifrado (Vector de
Inicialización, Salt, etc...) y/o si debería cifrar tb esa información.

Bueno espero que se me haya entendido algo de lo que expongo.

Un saludo a todos y gracias por adelantado.


Respuesta Responder a este mensaje
#4 Ariel Gimenez
13/01/2004 - 16:34 | Informe spam
Muy bueno el Articulo!!!!


"Michael Giagnocavo [MVP]" wrote in message
news:
Lo que hace Windows es usar algo llamado el Data Protection API. El DPAPI
puede ser utilizado para que solo el usuario actual pueda
encriptar/desencriptar. Si alguien reseta su contrasena (no cambiarlo,


pero
hacer un reset), los datos seran borrados (lo cual es bueno).

Basicamente, llamas a CryptProtectData, y te devuelve un string. Llamas a
CryptUnprotectData, y te regresa tus bytes originales. Para obtener los
bytes, usa System.Text.Encoding.UTF8.GetBytes().

En este articulo de MSDN, se describa como hacer una clase in .NET para
encapsular al DPAPI. Debes usar el User Store, no el machine store.

http://msdn.microsoft.com/library/e...etHT07.asp

-mike
MVP

"Kasiyas" wrote in message
news:
> Hola a todos,
>
> Alguien sabe si existe alguna forma fácil de almacenar una contraseña
> (cifrada por supuesto, para que nadie la pueda ver) que utilizo durante


la
> ejecución de un programa, en el archivo de configuración .config o en un
> archivo de texto cualquiera (tambien creo que se podría en el Registro


de
> Windows), para que cada vez que lo ejecute no tenga que volver a
teclearla?
> Se que hay muchas aplicaciones de windows que tienen que hacer algo
parecido
> (Outlook Express, Messenger, etc...) que guardan las passwords, pero no


se
> como lo hacen.
> He estado mirando en System.Cryptographic pero no se con que algoritmo


se
> cifra una contraseña de forma sencilla, además no se que información
> necesito guardar para que luego pueda hacer el descifrado (Vector de
> Inicialización, Salt, etc...) y/o si debería cifrar tb esa información.
>
> Bueno espero que se me haya entendido algo de lo que expongo.
>
> Un saludo a todos y gracias por adelantado.
>
>


Respuesta Responder a este mensaje
#5 Kasiyas
14/01/2004 - 13:14 | Informe spam
Muchas gracias por vuestros articulos, creo que me van a ser de gran ayuda!


"Michael Giagnocavo [MVP]" escribió en el mensaje
news:
Lo que hace Windows es usar algo llamado el Data Protection API. El DPAPI
puede ser utilizado para que solo el usuario actual pueda
encriptar/desencriptar. Si alguien reseta su contrasena (no cambiarlo,


pero
hacer un reset), los datos seran borrados (lo cual es bueno).

Basicamente, llamas a CryptProtectData, y te devuelve un string. Llamas a
CryptUnprotectData, y te regresa tus bytes originales. Para obtener los
bytes, usa System.Text.Encoding.UTF8.GetBytes().

En este articulo de MSDN, se describa como hacer una clase in .NET para
encapsular al DPAPI. Debes usar el User Store, no el machine store.

http://msdn.microsoft.com/library/e...etHT07.asp

-mike
MVP

"Kasiyas" wrote in message
news:
> Hola a todos,
>
> Alguien sabe si existe alguna forma fácil de almacenar una contraseña
> (cifrada por supuesto, para que nadie la pueda ver) que utilizo durante


la
> ejecución de un programa, en el archivo de configuración .config o en un
> archivo de texto cualquiera (tambien creo que se podría en el Registro


de
> Windows), para que cada vez que lo ejecute no tenga que volver a
teclearla?
> Se que hay muchas aplicaciones de windows que tienen que hacer algo
parecido
> (Outlook Express, Messenger, etc...) que guardan las passwords, pero no


se
> como lo hacen.
> He estado mirando en System.Cryptographic pero no se con que algoritmo


se
> cifra una contraseña de forma sencilla, además no se que información
> necesito guardar para que luego pueda hacer el descifrado (Vector de
> Inicialización, Salt, etc...) y/o si debería cifrar tb esa información.
>
> Bueno espero que se me haya entendido algo de lo que expongo.
>
> Un saludo a todos y gracias por adelantado.
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida