int main(int argc, char** argv) { // Variables char llave_publica[1024]; char llave_privada[1024]; char mensaje[1024]; // Inicialización de OpenSSL SSL_library_init(); ERR_load_BIO_strings(); SSL_load_error_strings(); OpenSSL_add_all_algorithms(); fprintf(stdout, "\nEjemplo de uso AES / RSA con OpenSSL en C\n\t\tDesarrollado por Sebastian Salazar Molina\n"); if (argc < 4) { fprintf(stdout,"\nForma de uso: %s \"ruta llave publica\" \"ruta llave privada\" \"mensaje\" \n", argv[0]); } else { sprintf(llave_publica, "%s", argv[1]); sprintf(llave_privada, "%s", argv[2]); sprintf(mensaje, argv[3]); char* cifrado = cifrar(llave_publica, llave_privada, (byte *) mensaje); char* descifrado = descifrar(llave_privada, llave_publica, cifrado); fprintf(stdout, "\nMensaje: %s-%d", mensaje, (int) strlen(mensaje)); fprintf(stdout, "\nMensaje Cifrado: %s-%d", cifrado, (int) strlen(cifrado)); fprintf(stdout, "\nMensaje Descifrado: %s-%d", descifrado, (int) strlen(descifrado)); fprintf(stdout, "\n\n"); } return (EXIT_SUCCESS); }
int main(int argc, char* argv[]) { /* if (argc != 2) { cerr << "Uso: p1_wacmian archivo_entrada"; return -1; } */ // abrir el archivo de entrada // ifstream is(argv[1], ios::in|ios::nocreate); ifstream is("input.txt"); if (!is) { cerr << "No se puede abrir el archivo\n"; return -1; } // abrir el archivo de salida ofstream os("salida.txt"); if (!os) { cerr << "No se puede abrir el archivo\n"; return -1; } char *nro_wac = new char(10); char *nro_dec = new char(10); // recorrer el archivo de entrada is.getline(nro_wac,10); // leer la linea while ((!is.eof()) && (nro_wac[0] != FIN_INPUT)) { nro_dec = descifrar(nro_wac); os.write(nro_dec,strlen(nro_dec)); os.put('\n'); is.getline(nro_wac,10); // leer la linea } /* delete nro_wac; delete nro_dec; */ return 0; }
int main( int argc, char *argv[] ) { system("clear"); char * mensaje = (char *) malloc(sizeof(char*)*100); char * senha = (char *) malloc(sizeof(char*)*100); int opc = 0; printf("Enter para iniciar!"); while (opc != 3) { clean_stdin(); printf("\nSelecciona la operación a realizar: "); printf("\n(1) Cifrar mensaje"); printf("\n(2) Descifrar mensaje"); printf("\n(3) Salir\n"); scanf("%d", &opc); switch(opc) { case 1: clean_stdin(); printf("Introduce el mensaje (máximo 100 caracteres)\n"); fgets(mensaje, 100, stdin); printf("\nIntroduce la contraseña (menor que el mensaje)\n"); fgets(senha, 100, stdin); if ((strlen(mensaje)>0) && (mensaje[strlen (mensaje) - 1] == '\n')) mensaje[strlen (mensaje) - 1] = '\0'; if ((strlen(senha)>0) && (senha[strlen (senha) - 1] == '\n')) senha[strlen (senha) - 1] = '\0'; senha = validarSenha(senha, mensaje); if(senha == NULL) printf("ERROR: Tu contraseña es más grande que el texto\n"); char * cifrado = (char *) malloc(sizeof(char*)*strlen(mensaje)); printf("\n\n******************Cifrando*******************\n\n"); strcpy(cifrado, cifrar(senha, mensaje)); printf("Tu mensaje cifrado es:\n%s\n\nPresiona cualquier tecla para continuar", cifrado); clean_stdin(); break; case 2: clean_stdin(); printf("Introduce el mensaje (máximo 100 caracteres)\n"); fgets(mensaje, 100, stdin); printf("\nIntroduce la contraseña (menor que el mensaje)\n"); fgets(senha, 100, stdin); if ((strlen(mensaje)>0) && (mensaje[strlen (mensaje) - 1] == '\n')) mensaje[strlen (mensaje) - 1] = '\0'; if ((strlen(senha)>0) && (senha[strlen (senha) - 1] == '\n')) senha[strlen (senha) - 1] = '\0'; senha = validarSenha(senha, mensaje); if(senha == NULL) printf("ERROR: Tu contraseña es más grande que el texto\n"); char * descifrado = (char *) malloc(sizeof(char*)*strlen(mensaje)); printf("\n\n******************Descifrando*******************\n\n"); strcpy(descifrado, descifrar(senha, cifrado)); printf("Tu mensaje descifrado es:\n%s\n\nPresiona cualquier tecla para continuar", descifrado); clean_stdin(); break; case 3: break; default: printf("\nOpción incorrecta\n"); pause(); break; } } return 0; }