document encipher decipher

This commit is contained in:
2025-03-26 04:08:35 -05:00
parent ee49b6cd53
commit 9cd9b76741
3 changed files with 279 additions and 133 deletions

View File

@@ -11,6 +11,14 @@ from src.models import NKodePolicy, KeypadSize
from src.nkode_api import NKodeAPI
from src.utils import select_keys_with_passcode_values
def display_keypad(icons_array: np.ndarray, props_per_key: int) -> str:
icons = ""
for idx, row in enumerate(icons_array.reshape(-1, props_per_key)):
icons += f"Key {idx}: "
icons += str(row)
icons += "\n"
return icons
if __name__ == "__main__":
api = NKodeAPI()
@@ -54,6 +62,9 @@ if __name__ == "__main__":
ordered_user_position_key = user_position_key[padded_passcode_position_indices]
mask = ordered_user_position_key ^ user.cipher.mask_key
encoded_mask = user.cipher.encode_base64_str(mask)
login_keypad = api.get_login_keypad(username, customer_id)
selected_keys_login = select_keys_with_passcode_values(passcode_property_indices, login_keypad,
keypad_size.props_per_key)
context = {
"max_nkode_len": policy.max_nkode_len,
"numb_of_keys": keypad_size.numb_of_keys,
@@ -75,5 +86,8 @@ if __name__ == "__main__":
"pad_user_passcode_idxs": padded_passcode_position_indices,
"ordered_user_position_key":ordered_user_position_key,
"mask": mask,
"selected_keys": selected_keys_login,
"login_keypad": display_keypad(login_keypad, keypad_size.props_per_key),
"ordered_keys": login_keypad.reshape(-1, keypad_size.props_per_key)[selected_keys_login],
}
render_markdown_template(Path("../templates/encipher_decipher_nkode.template.md"), Path("../encipher_decipher_nkode.md"), context)
render_markdown_template(Path("../templates/encipher_decipher_nkode.template.md"), Path("../encipher_decipher_nkode.md"), context)