gpg - desencriptar md5 php
¿Cifrar archivos usando PGP en PHP? (1)
Quiero usar el cifrado PGP para cifrar archivos CSV, estoy generando a través de un script PHP y luego lo envío al cliente por correo electrónico. El cliente me dará la clave de cifrado, que necesito usar para los archivos de cifrado.
Busqué en Google sobre PGP y descubrí que es bastante buena privacidad, también encontré OpenPGP http://www.openpgp.org/ y GnuPG http://www.gnupg.org/ ¿Cuáles son estos dos tipos de PGP? y cual debo usar?
¿También cómo cifrar un archivo usando PGP en PHP con la clave que mi cliente proporcionará?
He escuchado este término por primera vez, ¿puede alguien ayudarme a entender esto e implementarlo en PHP?
Pregunta 1: Acerca de PGP
- PGP (Pretty Good Privacy) es un producto y marca registrada de Symantec Corporation (la compraron hace algunos años).
- OpenPGP es el estándar usado por PGP.
- GnuPG (Gnu Privacy Guard) es una implementación gratuita y de código abierto de PGP.
Entonces, lo que quieres hacer es cifrar en una clave OpenPGP . La implementación de OpenPGP que usa su cliente para descifrar los datos no es importante para usted. Con PHP, comúnmente se usa GnuPG y hay interfaces integradas.
Pregunta 2: Usando GnuPG en PHP
Use la interfaz GnuPG , que es una extensión que se puede instalar para PHP.
Al principio, importe la clave, donde $keydata
es la clave pública blindada ASCII:
<?php
$gpg = new gnupg();
$info = $gpg -> import($keydata);
print_r($info);
?>
Luego use esta clave para cifrar los datos, esta vez utilizando la huella digital de la clave del cliente:
<?php
$gpg = new gnupg();
$gpg -> addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$enc = $gpg -> encrypt("just a test");
echo $enc;
?>
Si desea cifrar archivos, léalos y páselos a encrypt()
. Asegúrese de usar al menos identificaciones de clave largas (por ejemplo, DEADBEEFDEADBEEF
), mejores huellas digitales (como en el ejemplo) al hacer referencia a las claves; y nunca utilice identificadores de clave cortos ( DEADBEEF
), ya que son vulnerables a los ataques de colisión .
Este es un ejemplo más completo para hacer ambas cosas agregadas por un usuario en el manual de PHP.