Código fuente de cifrado Rsa
¿Importado? Archivo Java .io .
¿Importar? Flujo de salida del archivo Java .io;
¿Importar? Lector de archivos Java .io;
¿Importar? Java .io . flujo de salida;
¿Importar? Java .io .printwriter;
¿Importar? Lector Java .io;
¿Importar? Java . util . mapa;
¿Público? ¿clase? ¿prueba? {
¿Electricidad estática? ¿Cadena? publicKey
¿Electricidad estática? ¿Cadena? Clave privada;
¿Pública? prueba()? ¿Tiro que cae? ¿excepción? {
//?Todo? ¿Generado automáticamente? ¿Constructor? Colilla de cigarrillo
Map<String,? ¿Objeto>? ¿Diagrama del teclado? =?rsautils . genkey pair();
¿Clave pública? =?rsautils . obtener clave pública (mapa de claves);
claveprivada? =?rsautils . getprivatekey(key map);
//?Guarde la clave con el nombre de publicKey. ¿TXT? y clave privada. txt
¿Grabador? pw1? =?¿Nuevo? PrintWriter(¿nuevo? Flujo de salida del archivo(
" D:/clave pública. txt "));
Printmaker? pw2? =?¿Nuevo? PrintWriter(¿nuevo? Flujo de salida del archivo(
" D:/clave privada. txt "));
pw 1. print(clave pública);
pw2 . print(clave privada);
pw 1 . la clave pública guardada,
Cadena? clave pública? =?readFile(" D:/public key . txt "); //Leer el contenido de la clave pública;
Cadena? ¿datos? =?readFile(" D:/1 . txt ");? //Contenido del archivo que requiere cifrado de clave pública (como D:/1.txt).
¿byte[]? encByPubKeyData? =?RSA utils . encryptbypublickey(data . getbytes(),
pubkey
//Escribe los datos cifrados en base64 en el archivo.
writeFile("D:/Encfile.txt", utilidades base 64 . encode(encByPubKeyData). getBytes(" UTF-8 "));
//? existir.
¿Cadena? Priki? =?readFile(" D:/private key . txt "); //Leer la clave privada que acaba de guardar desde el directorio guardado,
Cadena? ¿Encdatos? =?readFile(" D:/encfile . txt "); //El contenido del archivo recién cifrado;
byte[]? encDatos? =?base 64 utilidades .decode(Encdata);
byte[]? decByPriKeyData? =?rsautils .decryptbyprivatekey(encData,?prikey);
//?El archivo descifrado se guarda en d:/decfile.txt.
writeFile("D:/Decfile.txt ", decByPriKeyData
}
¿Privado? ¿Electricidad estática? ¿Cadena? readFile(¿Cadena? ¿Ruta del archivo)? ¿Dejar caer? ¿excepción? {
¿Archivo? ¿en archivo? =?¿Nuevo? Archivo(ruta del archivo);
¿Dragón? archivoLen? =?infile .length();
¿Lector? ¿lector? =?¿Nuevo? FileReader(enArchivo);
char[]? ¿contenido? =?¿Nuevo? carácter[(int)? fileLen];
reader.read(content);
System.out.println("Lo que lees es: "?+?new?String(content)) ; p>
¿Regresar? ¿Nuevo? String(contenido);
}
¿Privado? ¿Electricidad estática? ¿Vacío? writeFile(¿Cadena? Ruta del archivo,? byte[]? Contenido)
¿Lanzar? ¿excepción? {
System.out.println("El contenido del archivo a escribir es: "? +? ¿Nuevo? String (contenido));
¿Archivo? outFile? =?¿Nuevo? Archivo(ruta del archivo);
OutputStream? ¿Afuera? =?¿Nuevo? flujo de salida del archivo (outFile);
out.write(content);
¿Si? (¿Fuera?!=?nulo)? out . close();
}
¿Público? ¿Electricidad estática? ¿Vacío? principal(Cadena[]?args)? ¿Dejar caer? ¿excepción? {
//?Todo? ¿Generado automáticamente? ¿método? Colilla de cigarrillo
¿Nuevo? test();
}
}Resultados de la prueba:
El contenido leído es: MIG fma 0 csqgsib 3 dqebaqua 4 gnadcbiqkbgqdvr 9 ypd 4ks 5k 86 DRM + ut y5 ost PWT 0 eobnqmgeisknbtufky 6 txyodvl 26 im 1 H5 iwj 1 jmq 63+lxfzxznpea+RH. axmeq 2 qi+5 es 9 af 7g 6 kiwjzakksa 08 ly+1y 3d P0 bnoyhf 7/pj 3 as 28 fdme 5 piea 7 w 36 VP 4 E3 ts+f 9 vwidaqab
Lo que vi es: Ahhh, condado de Huang.