TCL des: вернуть зашифрованную фразу в стандартных символах ascii

Я использую DES в TCL для шифрования некоторых фраз и хочу сохранить эти зашифрованные фразы в некоторых файлах ascii, которыми мне нужно легко манипулировать. Поэтому я бы хотел, чтобы "зашифрованная фраза" состояла только из стандартных символов ascii (предпочтительно без пробелов).

Я использую что-то вроде этого, чтобы расшифровать:

set encrypted [ DES:des -dir encrypt -key "abcdefgh" "This_phrase" ]

Я хотел бы, чтобы "зашифрованный" был стандартным кодом ASCII, а не тем, что, как бывает, может даже затормозить мой терминал, если он отображается.

Большое спасибо. Leandro.

1 ответ

Решение

Вы можете либо заменить все символы, которые могут иметь особое значение (все, кроме a-zA-Z0-9 и т. Д.), Либо закодировать его, например, base64.

set encrypted [base64::encode -wrapchar {} [DES:des -dir encrypt -key abcdefgh "This_phrase"]]

Вам нужно удалить дополнительный слой (base64, escape-кодирование последовательности или все, что вы использовали для преобразования двоичных данных в ascii), если вы хотите декодировать его.

Другие вопросы по тегам