actualizando mi biblioteca de cifrado de MCRYP En OpenSSL, ¿es posible descifrar datos encriptados con MCRYPT? Dos publicaciones diferentes proporcionan información conflictiva.
Pregunta:
¿Es posible actualizar mi biblioteca de cifrado de MCRIPT a OpenSSL? Si es así, ¿cómo?Respuesta:
Sí, es posible actualizar su biblioteca de cifrado de MCRYPT a OpenSSL.pregunta:
¿puedo descifrar datos encriptados con mcRypt usando OpenSSL?Responder Decrypt datos encriptados con MCRYPT usando openssl.
Aquí hay un ejemplo de código de cómo puede descifrar datos encriptados con McRypt usando OpenSsl:Función pública Decrypt ($ Data, $ Key) { $ sal = substr ($ data, 0, 128); $ ENC = subStr ($ data, 128, -64); $ Mac = Substr ($ Data, -64); Lista ($ Cipherkey, $ Mackey, $ IV) = $ this-> getKeys ($ sal, $ clave); if ($ mac! == hash_hmac ('sha512', $ enc, $ mackey, true)) { devolver falso; } $ dec = openssl_decrypt ($ enc, $ this-> cipher, $ cipherkey, openssl_raw_data, $ iv); devolver $ dec; }
notas adicionales:
public function decrypt($data, $key) { $salt = substr($data, 0, 128); $enc = substr($data, 128, -64); $mac = substr($data, -64); list ($cipherKey, $macKey, $iv) = $this->getKeys($salt, $key); if ($mac !== hash_hmac('sha512', $enc, $macKey, true)) { return false; } $dec = openssl_decrypt($enc, $this->cipher, $cipherKey, OPENSSL_RAW_DATA, $iv); return $dec; }la función openssl_decrypt () requiere que el parámetro IV sea la misma longitud que el tamaño de bloque de la cifra que se usa. OPENSSL_DECRYPT () función en el modo CBC.
test:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3