Underc0de

Programación Web => Back-end => Mensaje iniciado por: l Sys7eMr00t l en Mayo 28, 2013, 04:53:24 PM

Título: [PHP] Crea tu Hash Doble MD5.SHA1 Con SALT
Publicado por: l Sys7eMr00t l en Mayo 28, 2013, 04:53:24 PM
Bueno, este es un simple codigo, para evitarles el trabajo, de estar generando a mano.
No esta de màs tenerlos entre sus curiosidades.

Este Codigo, lo unico que hace es crear un Hash "más seguro", ¿Por que entre comillas? ¿Por que nada es imposible cierto?

Como funciona el Form:
1.- Introducimos el Password que desiemos.
2.- Introducimos el SALT de nuestra preferencia. "Mientras mas combinaciones mucho mejor"
3.- Presionamos Generar.

Como funciona el Script:
1.- Toma los datos introducidos
2.- Convierte el Pass y Salt en SHA1
3.- Convierte el SHA1 en MD5

¿Por que querria hacer esto si puedo hacerlo con consultas?
La verdad es que lo hice, para un trabajo que tuve, era necesario hacer pruebas antes de... asi que insertaba los hash en la Base de Datos a mano.
Repito, a alguno le debe ser de utilidad. Sino, de todas maneras aqui se los dejo.

Codigo:

Código (php) [Seleccionar]

<form name="passs" method="post" action="">
<label>Pass:</label>
<input type="text" name="password"><br />
<label>Salt:</label>
<input type="text" name="salt"><br />
<input  type="submit" name="submit" value="Generar">
</form>
<?php
if (isset($_POST['submit'])){
$hash_md5_double md5(sha1($_POST['salt'].$_POST['password']));
echo 
'MD5 con Salt & Sha1: '.$hash_md5_double.'<br><br>';
}
?>



Enjoy!
Título: Re:[PHP] Crea tu Hash Doble MD5.SHA1 Con SALT
Publicado por: ANTRAX en Mayo 28, 2013, 05:00:37 PM
Muy buen aporte bro!
Justo estaba haciendo un pequeño sistema, y creo que me puede servir

Saludos!

PD: Intenta cuidar un poco el lenguaje.

Título: Re:[PHP] Crea tu Hash Doble MD5.SHA1 Con SALT
Publicado por: l Sys7eMr00t l en Mayo 28, 2013, 05:03:28 PM
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Muy buen aporte bro!
Justo estaba haciendo un pequeño sistema, y creo que me puede servir

Saludos!

PD: Intenta cuidar un poco el lenguaje.

Disculpa, no volvera a suceder.
Gracias por el comentario. Espero poder aportar mas por aqui.
Título: Re:[PHP] Crea tu Hash Doble MD5.SHA1 Con SALT
Publicado por: ANTRAX en Mayo 28, 2013, 05:08:29 PM
Tus aportes siempre seran bienvenidos!
recien llevabas un mensaje y has dejado un muy buen aporte!
Título: Re:[PHP] Crea tu Hash Doble MD5.SHA1 Con SALT
Publicado por: mr.blood en Mayo 28, 2013, 06:01:55 PM
Solo una pregunta, ¿por qué codificas un hash SHA1 en MD5?

Desde el punto de vista de la criptografía es más lógico hacerlo al revés pues SHA1 tiene menos colisiones que MD5 :).

Sa1uDoS
Título: Re:[PHP] Crea tu Hash Doble MD5.SHA1 Con SALT
Publicado por: l Sys7eMr00t l en Mayo 28, 2013, 06:11:00 PM
Tienes razon,
Simplemente fue por decisión rápida.
Basta con cambiar de lugar las palabras.

Saludos! :)
Título: Re:[PHP] Crea tu Hash Doble MD5.SHA1 Con SALT
Publicado por: mr.blood en Mayo 28, 2013, 06:43:06 PM
Por cierto, se me olvido decirte, ¡buen aporte! :).

Hay mucha gente con bases de datos con pass comunes encriptadas en MD5 con algo tan sencillo como esto, podemos complicar bastante más que rompan una pass :).

Sa1uDoS
Título: Re:[PHP] Crea tu Hash Doble MD5.SHA1 Con SALT
Publicado por: WHK en Junio 06, 2013, 10:30:03 AM
Hola, gracias por el aporte pero aun así tu código es vulnerable porque hoy en dia hay muchos sitios basados en bases de datos con milones de hashses de md5, sha1, md5 del md5, sha1 del sha1, sha1 del md5 y md5 del sha1, o sea tu caso, por ende cualquier clave que pase por ahí será vulnerable a un ataque de fuerza bruta.

Para evitar esto no es necesario utilizar dos algoritmos de cifrado, basta solamente con utilizar el mas robusto, en este caso el sha1 acompañado de una clave única que haga imposible que aparezca en algún portal de hashses, así lo hace smf.

Por ejemplo:

Código (php) [Seleccionar]
<?php
if(isset($_GET['clave']))
{
$clave = (string)$_GET['clave'];
$salt "\x00\xD5\x18\x4A\x0C\x02\xFE"/* Constante de 7 carácteres */
$cifrado sha1($clave.$salt);

echo $cifrado;
}


El salt al ser un string estático permitirá la comparación entre el hash real y el ingresado:

Código (php) [Seleccionar]
<?php
$ingresado
'hola'// $_GET['clave'];
$salt "\x00\xD5\x18\x4A\x0C\x02\xFE"/* Constante de 7 carácteres */
$clave '9b8fa2e4c7bd0f52411f14098a39c665b28f2fa9';

if(
$clave === sha1($ingresado.$salt))
{
echo 'Bienvenido!';
}
else
{
echo 'Acceso denegado.';
}


Joomla y Wordpress también realizan una mezcla de hashses extras (salt) con la clave original.

Si buscamos en Google el hash correspondiente a la clave "hola":
CitarNo se han encontrado resultados para tu búsqueda (9b8fa2e4c7bd0f52411f14098a39c665b28f2fa9).