elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Varios modos de poner contraseñas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Varios modos de poner contraseñas  (Leído 8,230 veces)
Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Varios modos de poner contraseñas
« en: 16 Noviembre 2009, 18:16 pm »

Hola:

Ahora aprovecho usar el Visual C# Express 2010 beta 2 para hacer pruebas de todo tipo, entre ellas aprender.

Se trata de introducir en el formulario Form1, un button1 y un textbox1. En el lograr que al introducir la contraseña correcta muestra un mensaje contraseña CORRECTA o INCORRECTA.

Por ahora solo he hecho esto y funciona:

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace Contraseña01
  11. {
  12.    public partial class Form1 : Form
  13.    {
  14.        public Form1()
  15.        {
  16.            InitializeComponent();
  17.        }
  18.  
  19.        private void button1_Click(object sender, EventArgs e)
  20.        {
  21.            if (textBox1.Text == "1234")
  22.            {
  23.                MessageBox.Show("Contraseña CORRECTA", "Aviso:");
  24.            }
  25.            else
  26.            {
  27.                MessageBox.Show("Contraseña INCORRECTA", "Aviso:");
  28.            }
  29.        }
  30.    }
  31. }
  32.  

Está claro si uno se para a pensar que la contraseña guardada no está guardada realmente, sino dentro del programa ya compilado (que hay métodos para descompilar y todo). Lo ideal es crear una forma que se pueda guardar la contraseña en algún lado (por ahora sin cifrar) para recuperarla y compararla.

Se que hay varios tipos de formas de guardar, de .txt, xml y demás. Me gustaría saber cual es la mejor forma. Más adelante ya nos meteremos formas de encriptarla.



Sólo necesito ayuda de cómo hacer y cuál es el método recomendable para guardar la contraseña y que la pueda cambiar.

Saludo.


« Última modificación: 16 Noviembre 2009, 18:18 pm por Meta » En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Varios modos de poner contraseñas
« Respuesta #1 en: 16 Noviembre 2009, 18:42 pm »

Puedes hacer uso de algún algoritmo de cifrado de un solo sentido, como SHA-1 por citar un ejemplo :P

:http://msdn.microsoft.com/es-es/library/system.security.cryptography.sha1%28VS.80%29.aspx

Pondrías la contraseña cifrada, ej: e04fd22963b74df3692cc3ed99c10bf81e5d2534, y luego en la verificación, recibes el valor "Contraseña" y lo encriptas, y si es igual al hash almacenado, entonces esta ok :P

Saludos

P.D: he puesto sha-1 porque era el conversor que tenía a mano XD


« Última modificación: 16 Noviembre 2009, 18:44 pm por Novlucker » En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Re: Varios modos de poner contraseñas
« Respuesta #2 en: 16 Noviembre 2009, 19:15 pm »

Gracias.

Por lo que veo, mejor usar una base de datos.

Descargar:
MySQL 5.1.40
Connector .net

Ver manual página 437 sobre Visual C# y MySQL.

Luego pongo avances que he hecho con imágnes paso a paso.


Saludo.
En línea

Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Re: Varios modos de poner contraseñas
« Respuesta #3 en: 16 Noviembre 2009, 23:29 pm »

He hecho esto. Agruegué un button nuevo llamado button_crear_db, para que se cree la base de datos y tabla con un valor vacío.

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. using MySql.Data.MySqlClient; // No olvidar aquí.
  11. using MySql.Data.Types;
  12.  
  13. namespace Contraseña01
  14. {
  15.    public partial class Form1 : Form
  16.    {
  17.        MySqlConnection connection = null; // No olvidar.
  18.        string MyConString;
  19.  
  20.        public Form1()
  21.        {
  22.            InitializeComponent();
  23.        }
  24.  
  25.        private void button1_Click(object sender, EventArgs e)
  26.        {
  27.            if (textBox1.Text == "1234")
  28.            {
  29.  
  30.                MessageBox.Show("Contraseña CORRECTA", "Aviso:",
  31.                    MessageBoxButtons.OK, MessageBoxIcon.Information);
  32.            }
  33.            else
  34.            {
  35.                MessageBox.Show("Contraseña INCORRECTA", "Aviso:",
  36.                    MessageBoxButtons.OK, MessageBoxIcon.Stop);
  37.            }
  38.        }
  39.  
  40.  
  41.        // Con este botón se crea l base de datos y tabla para la contraseña.
  42.        private void button_crear_db_Click(object sender, EventArgs e)
  43.        {
  44.            string MyConString = "SERVER=127.0.0.1;" +
  45.                    "PORT=3306;" +
  46.                    "UID=root;" +
  47.                    "PASSWORD=1234;";
  48.            string tabla = @"CREATE TABLE `guardar` (
  49.                            `password` varchar(20) NOT NULL,
  50.                            PRIMARY KEY (`password`)
  51.                            ) ENGINE=InnoDB DEFAULT CHARSET=latin1;";
  52.  
  53.            connection = new MySqlConnection(MyConString);
  54.            connection.Open();
  55.  
  56.            MySqlCommand con = new MySqlCommand(tabla, connection);
  57.            con.ExecuteNonQuery();
  58.        }
  59.    }
  60. }


¿Cómo comparo la contraseña y que me diga CORRECTO o INCORRECTO?

Salu2.
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Varios modos de poner contraseñas
« Respuesta #4 en: 17 Noviembre 2009, 01:41 am »

AAAAAAAhhh!, pero ahí la contraseña sigue estando en texto plano, en una bbdd pero en texto plano, pensé que ibas a utilizar una tabla con user/password (cifrado).
¿Cual es la ventaja de hacer eso? ¿No hay ningún problema? Estas en la misma pero con un archivo de unos 2Mb adicionales  :silbar:

Citar
¿Cómo comparo la contraseña y que me diga CORRECTO o INCORRECTO?
Consultas la tabla y comparas contra valor, aunque como digo .. sigues en la misma  :xD
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Re: Varios modos de poner contraseñas
« Respuesta #5 en: 17 Noviembre 2009, 01:43 am »

Lo se que está en plano. Pero primero debo hacer funcionar bien el programa antes de meterme en la cifrado.
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Varios modos de poner contraseñas
« Respuesta #6 en: 17 Noviembre 2009, 01:50 am »

ok .. pero vas a manejar muchas contraseñas? porque sino no tiene sentido tener una bbdd para una o unas pocas.

Y para leer eso ... sqldatareader

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Varios modos de poner contraseñas
« Respuesta #7 en: 17 Noviembre 2009, 02:32 am »

el mismo mysql o el sql server ya tienen fucniones para cifrar contraseñas a travez de una clave dada ,podes probar eso.
En línea

KJD


Desconectado Desconectado

Mensajes: 314



Ver Perfil
Re: Varios modos de poner contraseñas
« Respuesta #8 en: 24 Noviembre 2009, 13:32 pm »

Perdon que reviva un post medio viejo, pero mas alla de que la contaseña este cifrada o no, que SHA1, MD5 y cualquier otro algoritmo, todo se resume a el salto que te dice contraseña Buena // Mala. Si ya se que me van a decir, si la contraseña esta cifrada no podran tener el programa full, si lo se, pero el problema es que al poder decompilarce, poeds modificar el programa como si fuese tuyo.

Saludos.
En línea

"Solo hay 10 tipos personas que saben leer binario, los que si y los que no"

"Keyboard not Found, press F1 To Continue" WTF???
MANULOMM


Desconectado Desconectado

Mensajes: 559


Erepublik.com


Ver Perfil
Re: Varios modos de poner contraseñas
« Respuesta #9 en: 24 Noviembre 2009, 13:41 pm »

si aun asi se decompilara no obtendrias nunca la contraseña, si no quieres que lo modifiquen o por lo menos que no sea sencillo entonces Ofusca el codigo; es mas en el "mundo real" cuantos programas has decompilado tu para modificarlos y saltarte la seguridad?... es posible decompilarlo con el reflection (aunque sufre variaciones en codigo) es una tarea muy ardua copiar clase por clase y estudirse el programa para generar un nuevo exe.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia
En línea


Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como poner varios dns en interfaces
Redes
mic827 1 3,062 Último mensaje 21 Julio 2011, 20:31 pm
por madpitbull_99
Poner tweets de varios usuarios en un widgets « 1 2 »
Desarrollo Web
Crash_RPM 10 7,090 Último mensaje 23 Mayo 2012, 10:04 am
por Psyke1
Publican varios modos de piratear juegos en la tienda de aplicaciones de Windows
Noticias
wolfbcn 0 2,169 Último mensaje 13 Diciembre 2012, 22:23 pm
por wolfbcn
Modos de instalar Wasap en el PC, wasap for pc
Software
free-articles 0 1,560 Último mensaje 19 Agosto 2013, 05:03 am
por free-articles
Poner varios números y que los separe
.NET (C#, VB.NET, ASP)
SlayerBur 6 4,129 Último mensaje 28 Mayo 2017, 20:45 pm
por SlayerBur
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines