¿Cuál es el mejor cifrado de contraseña & amp; biblioteca de descifrado para usar con Perl? [cerrado]

StackOverflow https://stackoverflow.com/questions/459614

Pregunta

Estoy escribiendo un script perl que manipula archivos zip protegidos con contraseña. Por consiguiente, necesito almacenar & amp; recuperar contraseñas para hacer esto. Tengo tres opciones para almacenar la contraseña:

  1. Almacenar en texto plano. Antes de entrar, he descartado esta opción.
  2. Use una contraseña simple para evitar el acceso casual / accidental (incluso por parte de los DBA)
  3. Utilice una biblioteca de cifrado / descifrado adecuada, como Blowfish o AES.

Lo que elija debe ejecutarse en Perl, en Windows y ser fácil de usar.

¿Alguna sugerencia?

¿Fue útil?

Solución

Hay algunos paquetes de cifrado Perl que se ejecutan en Windows, puede descargar los PPM con el administrador de paquetes ActivePerl.

También puede usar la versión Perl pura de esos módulos (busque el nombre que termina en _PP).

Encontré estos módulos en CPAN:

Otros consejos

El principal problema con el enfoque 3 es que, ¿dónde almacena la clave del archivo que contiene las contraseñas? Puede usar Base64 para el enfoque 2, pero es muy fácil de descifrar.

No debería haber ninguna pregunta aquí. Debe usar un esquema de cifrado suficientemente fuerte. Se le confían datos confidenciales y debe hacer todo lo posible para protegerlos.

Si está utilizando Windows, puede aprovechar DPAPI para cifrar AESkey y almacenarlo en el registro. Perl tiene módulos para interactuar con las bibliotecas Win32.

La mejor encriptación es subjetiva, sin embargo, AES 128 es lo suficientemente fuerte a partir de enero de 2009 para encriptar sus datos.

Incluso los mejores esquemas de cifrado pueden ser derrotados si el usuario no comprende completamente lo que está haciendo.

Obviamente, estás en lo correcto, el # 1 está fuera.

Y # 2 también está fuera por esencialmente la misma razón. No es seguro.

En cuanto al # 3, podría sugerir que esto también esté fuera. Descifrar la contraseña la lleva a un estado más vulnerable para la comparación. PERO, si va a hacer esto, le sugiero que use Crypt :: CBC WITH Crypt :: Blowfish para Encadenamiento de bloques de cifrado .

[recomendado] # 4: en lugar de almacenar contraseñas para recuperar, descifrar y luego comparar como en # 3. Utilice Authen :: Passphrase de manera justa Módulo Perl completo y flexible que le permite comparar una contraseña ingresada sin descifrar / decodificar el original. Consulte también ¿Cómo puede ¿Cifro y descifro las contraseñas en un programa Perl CGI?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top