apache Camel es un poderoso marco de enrutamiento empresarial que puede usarse para enviar información de cualquier manera, con casi cualquier protocolo que desee usar. Y no es ningún secreto lo importante que es el cifrado, por lo que usar los dos juntos tiene sentido.
Te puede interesar:Regex: división por carácter, a menos que esté entre comillasPGP, específicamente, significa «Pretty Good Privacy» y se ha convertido en uno de los algoritmos de cifrado más populares en los últimos años. A menudo se utiliza para firmar, cifrar y descifrar cualquier tipo de datos, incluidos texto, correos electrónicos o incluso una partición de disco completa.
Te puede interesar:Configurar un clúster de Node.jsEl código
Y ahora con el código:
Te puede interesar:¿Qué es Arduino?// Public Key FileName
final String keyFileName = "/path/to/public.gpg";
// Private Key FileName
final String keyFileNameSec = "/path/to/private.gpg";
// Keyring Userid Used to Encrypt
final String keyUserid = "userid_for_key";
// Private key password
final String keyPassword = "sooper_sekret_pass";
CamelContext context = new DefaultCamelContext();
context.addRoutes(new RouteBuilder() {
public void configure() {
from("stream:in")
.multicast().to("direct:original", "direct:encrypt");
// Save the original input
from("direct:original")
.to("file:C:\Users\srobin\Desktop\crypto?fileName=original.txt");
// Encrypts and saves the input
from("direct:encrypt")
.marshal().pgp(keyFileName, keyUserid)
.multicast()
.to("direct:unencrypt", "file:C:\Users\srobin\Desktop\crypto?fileName=encrypted.txt");
// Decrypts and saves the output
from("direct:unencrypt")
.unmarshal().pgp(keyFileNameSec, keyUserid, keyPassword)
.to("file:C:\Users\srobin\Desktop\crypto?fileName=unencrypted.txt");
}
});
Este simple ejemplo es principalmente una prueba de concepto para mostrar cómo puede cifrar y descifrar datos usando PGP y Camel, pero transmite el punto de cómo lo usaría en un sistema real.
Te puede interesar:Cómo instalar Node.js en UbuntuBásicamente, lo que hace el código anterior es tomar datos del stream
entrada y dirigirlo a dos caminos diferentes. El primero es el direct:original
route, que simplemente guarda la entrada en un archivo para que pueda verlo más tarde.
La segunda ruta a la que se envía es direct:encrypt
, que luego calcula los datos mediante el algoritmo PGP y la clave que proporcionamos. A partir de ahí, la salida se guarda en un archivo para que pueda inspeccionar los datos cifrados y enviarlos a otra ruta que realmente los descifrará por usted (para que pueda ver todo el proceso).
La ruta final direct:unencrypt
, simplemente toma datos cifrados con nuestra clave pública y los descifra con nuestra clave secreta, y finalmente los guarda en un archivo.
Dado que los datos se guardan en cada punto de la ruta, puede verificar que los datos estén realmente cifrados y descifrados.
Si está utilizando Maven, no olvide agregar lo siguiente a su POM:
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-crypto</artifactId>
<version>2.9.0</version>
</dependency>