Hay algunas enorme legado de sistemas de cuyas dependencias en PHPs’ mcrypt son muy importantes y vitales (incluyendo el almacenamiento de datos en base de datos). Necesito encontrar una manera de mantener esta biblioteca, mientras que la actualización a PHP 7.2 (que ya funcionaba bien).

Mi entorno de prueba de Windows. El entorno en el que se ejecuta en CentOS.

Algunas de las respuestas que he visto es descifrar y cambio mcrypt a openssl (creo que eso no es posible en este momento, puesto que hay un montón de datos para descifrar).

Otra manera luces para descargar un menor de versión de PHP con mcryptde apoyo, copiar la extensión y agregar a php.ini (yo no sé ni la carpeta).

Degradar PHP 5.6 no es adecuado debido a problemas de seguridad.

Alguna luz en lo que se podría hacer en esta situación?

Usted podría nab el mcrypt paquete de PECL
El problema con mcrypt PHP, es abandonware, no ha sido actualizado en años y no es compatible con el estándar PKCS#7 (née PKCS#5) de relleno, sólo no estándar null relleno que aún no puede ser utilizado con datos binarios. mcrypt tiene muchos pendientes bugs que se remonta a 2003. El mcrypt-extensión está en desuso serán eliminados en PHP 7.2. En lugar de considerar el uso de desactivar o RNCryptorproporcionan una solución completa y se mantienen actualmente y correcta. O ir con OpenSSL, véase la respuesta.
En el momento de la escritura no es de Windows 7.2 versión compatible de mcrypt disponible en los PECL.
El mismo escenario se enfrentó por mí y es realmente un frenético de trabajo. Pero cuando estamos planeando para la actualización tenemos que estar preparados para las agitadas esfuerzos. Hemos actualizado nuestra seguridad a libsodium y la documentación de la aplicación se puede encontrar(paragonie.com/book/pecl-libsodium).

OriginalEl autor Danilo Davanso | 2018-03-16

2 Comentarios

  1. 8

    Básicamente creo que se han mencionado todas las posibilidades y usted no tiene una opción. No degradar a PHP 5.6, este enfoque no tiene futuro.

    MCrypt fue retirado de PHP para una de las principales razones por las que desea actualizar PHP: Seguridad. El MCrypt biblioteca no se mantiene más. Por lo tanto la instalación de la extensión MCrypt también es una mala idea. Pero puede ser una solución temporal (siga por ejemplo, las instrucciones https://serverpilot.io/community/articles/how-to-install-the-php-mcrypt-extension.html).

    La sólo buena solución es migrar de mcrypt a algo otra cosa. Hay preguntas con respecto a este tema en Stackoverflow ya (por ejemplo,La actualización de mi biblioteca de cifrado de Mcrypt a OpenSSL). Alternativly usted podría utilizar un poco de la biblioteca de cifrado. La migración de una gran cantidad de código/datos puede ser un dolor, pero este es el más orientado hacia el futuro enfoque en este caso.

    Voy a hablar con el equipo de infraestructura para organizar esta solución. Sé que la instalación de la extensión Mcrypt es temporal (estoy tratando de hacer ahora, después de que yo pueda publicar una información aquí). Utilizamos Zend como un Marco y he visto que tiene las características de cifrado. Mi principal problema es descifrar todos los datos, mantener su integridad y cifrar de nuevo.
    Mcrypt no es privativo de cifrado, usted puede emplear todos los mismos sistemas de cifrado para el cifrado y descifrado en otras librerías como OpenSSL. No hay ninguna conversión requerido de otra que volver a escribir el código.
    Como una rápida adición a esto, el vinculado instrucciones para la instalación de mcrypt no se aplican a Windows. Las extensiones pueden normalmente ser instalado de windows.php.net (o más a menudo, windows.php.net/downloads/pecl/releases ), pero no parece ser un 7.2-compatible con la versión de la extensión mcrypt disponible todavía.

    OriginalEl autor Blackbam

  2. 0

    Tenga en cuenta que ningún código o información acerca de la mcrypt opciones/código.

    Probablemente los únicos problemas no estándar null relleno utilizado por mcrypt. Para descifrar con otra aplicación que no admite nulos de relleno (que no es estándar) acaba de descifrar sin relleno y, a continuación, retire el nulo relleno.

    Si usted también debe cifrar el mismo como mcrypt acaba de agregar null relleno y cifrar con relleno.

    Realmente considerar la posibilidad de migrar el cifrado actual o añadir algún indicador de que el cifrado es (o no) mcrypt compatible.

    OriginalEl autor zaph

Dejar respuesta

Please enter your comment!
Please enter your name here