Exemplo n.º 1
0
Arquivo: main.c Projeto: sebasalazar/C
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);
}
Exemplo n.º 2
0
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;
}
Exemplo n.º 3
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;
}