Mi algoritmo es básicamente el siguiente:
input password
hash(password)
AES on file using the hash
en este caso, ¿importa el algoritmo hash siempre que su distribución sea algo uniforme?
¿Algún algoritmo débil como md5 estaría bien, o debería usarse un algoritmo mejor?
en el caso de que alguien intente usar fuerza bruta, los algoritmos más lentos funcionarán mejor, así que no lo tengo en cuenta, ya que puede compensarse utilizando más rondas.
Lo hago porque AES necesita una clave de 128 bits (o 192 o 256), y es posible que el usuario no quiera ingresar una contraseña de este tamaño.