[PHP] Crea tu Hash Doble MD5.SHA1 Con SALT

Iniciado por l Sys7eMr00t l, Mayo 28, 2013, 04:53:24 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Mayo 28, 2013, 04:53:24 PM Ultima modificación: Marzo 27, 2014, 05:31:25 PM por Expermicid
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

<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!

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.



No tienes permitido ver los links. Registrarse o Entrar a mi 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.

Tus aportes siempre seran bienvenidos!
recien llevabas un mensaje y has dejado un muy buen aporte!


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

Tienes razon,
Simplemente fue por decisión rápida.
Basta con cambiar de lugar las palabras.

Saludos! :)

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

Junio 06, 2013, 10:30:03 AM #7 Ultima modificación: Junio 06, 2013, 10:31:35 AM por WHK
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
<?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
<?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).
- No tienes permitido ver los links. Registrarse o Entrar a mi cuenta - No tienes permitido ver los links. Registrarse o Entrar a mi cuenta