Author SHA1 Message Date
redlineo e338e2a092 edit readme 2025-04-02 09:54:31 +00:00
redlineo 1bec7c0a51 readme edit 2025-04-02 09:32:21 +00:00
redlineo 3c86e0aca4 menu bugfix: missed break in switch-case 2025-04-02 09:29:18 +00:00
redlineo 0226bd664b new version 2025-04-02 09:15:04 +00:00
2 changed files with 11 additions and 7 deletions

No files matched your search

+5 -5
View File
@@ -1,18 +1,18 @@
# RED_CRYPTO ver 0.7.3
# RED_CRYPTO ver 0.7.3-full
## Description
Password manager for (almost) any QMK-compatible keyboards.
Password manager for (almost) any QMK-compatible keyboards. It is full version of `RED_CRYPTO` lib.
There are two versions:
- hard-coded passwords in `keymap.c`, change branch to `hard-coded-storage` or releases
- storing passwords in EEPROM with adding and editing via `RED_MENU`, change branch to `eeprom-storage` or releases
- hard-coded passwords in `keymap.c`, change branch to [`hard_coded_storage`](https://github.com/redlineo/red_crypto/tree/hard_coded_storage) or releases
- storing passwords in EEPROM with adding and editing via `RED_MENU`, change branch to [`eeprom_storage`](https://github.com/redlineo/red_crypto/tree/eeprom_storage) or releases (YOU ARE HERE)
## Alert
> Now red_crypto supports STM32 EEPROM.
>
> Tested on Keychron K9 Pro with STM32L4xx with virtual EEPROM
> Tested on Keychron K9 Pro with STM32L432xx with virtual EEPROM
See chapter about [Memory issue](#memory-issue) and [Memory usage](#memory-usage).
I recommend using at the beginning internal FLASH or EEPROM, because you have some resources not to need external memory. Or you can do not change your passwords, if there are very strong one's.
+6 -2
View File
@@ -88,9 +88,12 @@ uint8_t draw_red_menu(uint16_t keycode, keyrecord_t *record) {
}
break;
}
case SHOW_PASS_NAMES: // TODO
case SHOW_PASS_NAMES: // TODO
break;
case SHOW_MEMORY_USAGE: // TODO
break;
case CHANGE_MASTER_KEY: // TODO
break;
case CHANGE_PASS_IN_STORAGE:
send_string("Which one? Write index in hex [0-9a-f]: "); // now you can change first 16 passwords on the fly
// to read more, I need read keys as integers, or bytes
@@ -122,6 +125,7 @@ uint8_t draw_red_menu(uint16_t keycode, keyrecord_t *record) {
}
break;
case CHANGE_PASS_NAME: // TODO
break;
case SAVE_NEW_PASS:
enc_pass_new = (uint8_t *)malloc(sizeof(uint8_t) * enc_pass.storage_pass_len);
enc_pass_new = encrypt_pass_kuzn(readed_key_new, count_char_key_new, password_index);
@@ -165,7 +169,7 @@ uint8_t draw_red_menu(uint16_t keycode, keyrecord_t *record) {
break;
default: // SHOW_MAIN_MENU
CLEAR_MENU_MACROS;
send_string("RED_CRYPTO MENU:\n0-EXIT\n1-Show password's names\n2-Show memory usage\n3-Change master key\n4-Change password in storage\n5-Change password's name\n6-Add new password\n");
send_string("RED_CRYPTO MENU:\n0-EXIT\nX-Show password's names\nX-Show memory usage\nX-Change master key\n4-Change password in storage\nX-Change password's name\n6-Add new password\n");
send_string("Choose option(0-6): ");
readed_option[0] = READ_USER_CHOICE;
break;