¿Por qué una sal debe tener la misma longitud que el valor hash? [cerrado]

Aquí hay una buena descripción de por qué se necesitan sales de contraseña.

No, no necesita que su sal tenga la misma longitud que la contraseña. De hecho, ninguna de las implementaciones enumeradas en el artículo hace eso. En general, por cada bit de sal adicional, se requiere que un atacante duplique su presupuesto de almacenamiento.

Por lo tanto, tener una sal de 10 bytes debería ser suficiente para el nivel de tecnología actual. También tenga en cuenta que la sal es un valor binario, mientras que las contraseñas no lo son, por lo que la longitud de la sal debe medirse en bits / bytes y no en caracteres.

Respuesta 1

No hay una necesidad particular de que la sal sea tan larga, aunque ciertamente no dolerá.

El único requisito real que debe cumplir una sal es que debe ser única a nivel mundial. Incluso eso no es un requisito difícil , en el sentido de que tener algunas sales duplicadas realmente no ayuda mucho a un atacante. Solo si obtiene muchos duplicados, la sal comienza a perder su efectividad.

En particular, debido a la paradoja del cumpleaños , si las sales se eligen al azar, idealmente deberían tener al menos 2 · log 2 ( n ) bits de longitud, donde n es el número máximo de usuarios que espera tener (o, más generalmente, el máximo número de usuarios que espera utilizar el método de hashing elegido). Por supuesto, siempre es una buena idea tener un margen de seguridad además de eso.

En particular, la población total de la Tierra es un poco más de 2 32 . Esto significa que, incluso si cada persona en el planeta registrara una cuenta para su sistema, una sal de 64 bits sería suficiente.

Respuesta: 2

Estoy intentando construir un servicio web alojado en Glassfish que suplante (para pruebas de desarrollo) un servicio web alojado en WCF. Tengo el WSDL del servicio alojado WCF, y puedo construir el ...

Pienso en un patrón de diseño Singleton común: clase pública Singleton {instancia Singleton estática privada; private Singleton () {} public static Singleton getInstance () {if (instancia == ...

Estoy usando Quartz para crear regularmente un montón de trabajos que envié a una cola (RabbitMQ) donde son recogidos y ejecutados por actores Akka. Una pieza que falta es el monitoreo del trabajo. Si un trabajo ...

¿Hay alguna manera de definir objetos en hibernate.cfg.xml por alcance y no uno por uno? Por ejemplo, en Spring puede definir todos los controladores mediante dicha anotación: <contexto: componente-scan base-package = ...