синтаксический анализ c ++ и чтение двоичного файла - PullRequest
1 голос
/ 23 июля 2011

Я хочу сохранить учетные записи электронной почты и пароли, которые я ранее зашифровал алгоритмом. Их нужно сохранять и читать как двоичные файлы с fwite и fread. Я хочу знать, является ли это пропуском или учетной записью электронной почты, сохраняя его между и

Например:

<e> !"§(!"$)Asdn12§(!"§UASD <e>
<u> !"§()!="§ksd!"§KM!"§lkm12 <u>
<e> !"§KMK!M"§asd9i1ikm23ß0 <e>
<u> l,1ö2l3!"§)IQASD=K!"E <u>

как вы предлагаете мне читать файл как бинарный, но также иметь возможность его анализировать.

Эти электронные письма и пропуски читаются другой программой, которая выполняет с ними некоторые задачи.

Ответы [ 2 ]

1 голос
/ 23 июля 2011

Если имена пользователей и пароли всегда связаны, я предлагаю вам сохранить длину (в байтах) перед каждым именем пользователя и перед каждым паролем. Таким образом, вы можете прочитать длину (скажем, 4-байтовое целое число) и узнать, какой длины будет следующая запись имени пользователя / пароля. Затем вы можете повторить это, не беспокоясь о поиске тегов, которые могут встречаться в имени пользователя или пароле.

0 голосов
/ 23 июля 2011

Вы делаете это неправильно.Написание собственного криптозащитного кода - это вообще нет-нет.

Если вам нужно сохранить имена пользователей и пароли для аутентификации или входа в службы, я рекомендую сохранять их как обычно, но полагаться на разрешения файлов ОС для обеспечения безопасности (этоэто стандартная практика Unix, так как если операционная система скомпрометирована, вы все равно ее потеряли).

Если вам нужны общедоступные, но зашифрованные пароли, используйте свободно доступную библиотеку шифрования и вставьте ключ дешифрования прямо висходный код (и скомпилированный двоичный файл).Это настолько безопасно, насколько это возможно, поскольку злоумышленник в любом случае может просто прочитать память после расшифровки.

Я настоятельно рекомендую подумать о том, зачем вам нужно шифрование и от кого вы пытаетесь скрыть информацию.

...