Que tan seguro es ?

Iniciado por shamaka, 7 Abril 2018, 17:25 PM

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

shamaka

Hola amigos! Tiempo que no pasaba por aquí... Me gustaría saber su opinión sobre el resultado de este cifrado y que tan efectivo lo ven. Gracias de ante mano


<?php

function generarCodigo($longitud) {
 
$key '';
 
$pattern '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
 
$max strlen($pattern)-1;
 for(
$i=0;$i $longitud;$i++) $key .= $pattern{mt_rand(0,$max)};
 return 
$key;
}
 

$plaintext 'Hola Mundo';
$password generarCodigo(32);
$method 'aes-256-cbc';

$key password_hash($passwordPASSWORD_BCRYPT, ['cost' => 12]);
//echo "Key:" . $key . "<br>";

$iv rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9);


$encrypted base64_encode(openssl_encrypt($plaintext$method$keyOPENSSL_RAW_DATA$iv));
$decrypted openssl_decrypt(base64_decode($encrypted), $method$keyOPENSSL_RAW_DATA$iv);


echo 
'decrypted to: ' $decrypted "<br>";
echo 
$encrypted ."<br>";
Con temor a Dios y sin miedo al hombre

engel lex

es aes 256, es seguro... es lo que le llaman "grado militar" (y el que usa https por defecto)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

shamaka

Cita de: engel lex en  7 Abril 2018, 19:08 PM
es aes 256, es seguro... es lo que le llaman "grado militar" (y el que usa https por defecto)

Entonces, ese script si genera un cifrado seguro?

Gracias por responder!  ;D
Con temor a Dios y sin miedo al hombre

engel lex

si, aunque hay que asegurar que el IV es seguro (aunque ese metodo debería bastar para aplicación general) y haces un paso extra que es hashear la pass en BCRYPT, no es necesario, pero si ayuda mucho a reforzar el largo de la contraseña y dificultad la fuerza bruta (aunque si no salvas el hash, te quedas sin key, ya que esa función teóricamente debería producir un salt diferente cada vez para la misma key)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.