Cómo hacer que los hashes bcrypt de otras personas se agreguen al archivo htpasswd

6

Necesito restringir algunas páginas web a ciertos usuarios y lo hago usando un archivo .htpasswd a través de nginx.

El problema es que necesito agregar hashes de contraseña bcrypt de otras personas a mi archivo .htpasswd. ¿Sería posible que lo generen utilizando htpasswd en su propia máquina (podría ser windows, mac, linux) y luego darme el hash resultante? Yo agregaría este hash al archivo .htpasswd.

El otro problema es que creo que bcrypt usa sales para generar los hashes. Si generan un hash bcrypt en su propia computadora con su propia sal, ¿no sería esto un problema ya que el servidor no tendrá ese valor de sal? Por el contrario, si bcrypt no usa sales pero si quiero usar sales, ¿cómo resolvería este problema?

    
pregunta user1812844 11.07.2013 - 22:31
fuente

1 respuesta

6

Normalmente, la salida (hash) cuando el hash de una contraseña con Bcrypt no es simplemente el hash: es una cadena de texto que también codifica la sal e identifica el algoritmo de hash utilizado.

De esta stackoverflow answer :

$2a$10$vI8aWBnW3fID.ZQ4/zo1G.q1lRps.9cGLcZEiGDMVr5yUP1KUOYTa
     
  • 2a identifica la versión del algoritmo bcrypt que se utilizó.
  •   
  • 10 es el factor de costo; Se utilizan 2 10 iteraciones de la función de derivación de claves (lo cual no es suficiente, por cierto. Recomendaría un   costo de 12 o más.)
  •   
  • vI8aWBnW3fID.ZQ4 / zo1G.q1lRps.9cGLcZEiGDMVr5yUP1KUOYTa es la sal y el texto cifrado, concatenado y codificado en una versión modificada   Base-64. Los primeros 22 caracteres se decodifican a un valor de 16 bytes para el   sal. Los caracteres restantes son texto cifrado que se comparará para
      autenticación.
  •   
  • $ se utilizan como delimitadores para la sección de encabezado del hash. Este ejemplo está tomado de la documentación del rubí de Coda Hale
      implementación.
  •   

htaccess permite generar bcrypt con el interruptor -B (consulte la página de manual aquí ). Entonces, mientras todos tengan instalado htaccess o cualquier otra cosa que pueda generar hash bcrypt válidos, debería estar bien.

    
respondido por el Lucas Kauffman 11.07.2013 - 22:57
fuente

Lea otras preguntas en las etiquetas