Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f118c23c60 | |||
| b149175f24 | |||
| 206e8042d8 | |||
| 2a5249d93c |
27
otp.c
27
otp.c
@@ -110,7 +110,7 @@ int main(int argc, char* argv[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int interactive_mode(void) {
|
int interactive_mode(void) {
|
||||||
printf("=== OTP Cipher %s ===\n\n", get_version());
|
printf("\n\n\n\n=== OTP Cipher %s ===\n\n", get_version());
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
show_main_menu();
|
show_main_menu();
|
||||||
@@ -148,6 +148,7 @@ int interactive_mode(void) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'X':
|
case 'X':
|
||||||
|
case 'Q':
|
||||||
printf("Goodbye!\n");
|
printf("Goodbye!\n");
|
||||||
return 0;
|
return 0;
|
||||||
default:
|
default:
|
||||||
@@ -267,7 +268,7 @@ int command_line_mode(int argc, char* argv[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void show_main_menu(void) {
|
void show_main_menu(void) {
|
||||||
printf("=== Main Menu ===\n");
|
printf("=== Main Menu ===\n\n");
|
||||||
printf("\033[4mT\033[0mext encrypt\n");
|
printf("\033[4mT\033[0mext encrypt\n");
|
||||||
printf("\033[4mF\033[0mile encrypt\n");
|
printf("\033[4mF\033[0mile encrypt\n");
|
||||||
printf("\033[4mD\033[0mecrypt\n");
|
printf("\033[4mD\033[0mecrypt\n");
|
||||||
@@ -2558,7 +2559,27 @@ int handle_file_encrypt(void) {
|
|||||||
|
|
||||||
int ascii_armor = (atoi(format_input) == 2) ? 1 : 0;
|
int ascii_armor = (atoi(format_input) == 2) ? 1 : 0;
|
||||||
|
|
||||||
return encrypt_file(pad_input, input_file, NULL, ascii_armor);
|
// Generate default output filename
|
||||||
|
char default_output[1024]; // Increased buffer size to prevent truncation warnings
|
||||||
|
if (ascii_armor) {
|
||||||
|
snprintf(default_output, sizeof(default_output), "%s.otp.asc", input_file);
|
||||||
|
} else {
|
||||||
|
snprintf(default_output, sizeof(default_output), "%s.otp", input_file);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ask for output filename with pre-filled default
|
||||||
|
printf("\nOutput filename [%s]: ", default_output);
|
||||||
|
char output_file[512];
|
||||||
|
if (!fgets(output_file, sizeof(output_file), stdin)) {
|
||||||
|
printf("Error: Failed to read input\n");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
output_file[strcspn(output_file, "\n")] = 0;
|
||||||
|
|
||||||
|
// Use default if user just pressed Enter
|
||||||
|
const char* output_filename = (strlen(output_file) > 0) ? output_file : default_output;
|
||||||
|
|
||||||
|
return encrypt_file(pad_input, input_file, output_filename, ascii_armor);
|
||||||
}
|
}
|
||||||
|
|
||||||
int handle_smart_decrypt(void) {
|
int handle_smart_decrypt(void) {
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
This is a test file for OTP encryption.
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
-----BEGIN OTP MESSAGE-----
|
|
||||||
Version: v0.2.15
|
|
||||||
Pad-ChkSum: 0c8e19fde996e683fdbd348d1052eec168ffe6f67a88bb1278d0d02e9341b87b
|
|
||||||
Pad-Offset: 210
|
|
||||||
|
|
||||||
mMIm7iVtUO6NbXbskMxtydI/A16UXEQUGTcIya/8Dja6PB3EC0MLdw==
|
|
||||||
-----END OTP MESSAGE-----
|
|
||||||
Binary file not shown.
BIN
tocEncrypted
BIN
tocEncrypted
Binary file not shown.
Reference in New Issue
Block a user