У меня возникла проблема при шифровании некоторых данных в файле. Я использую простой xor для этого. позволяет сказать, что у меня есть эта структура:проблема шифрования двоичного файла
struct MyFile{
char fileName[128];
int account;
float balance;};
Сохранив в виде двоичный файла работает правильно, но когда я использовать XOR для шифрования файла в структурах и сохранить-структуру в HD, то чтении-структуры и дешифрование файла не показывает символы правильно. Я использую эту простую функцию для цели шифрования/дешифрования.
static void Codec(const char *key,int keySize,char* in,char *result,int length)
{
for(int i=0;i<length;i++)
result[i]=in[i]^key[i%keySize];
}
Обратите внимание, что когда я шифрую имя файла и непосредственно расшифровываю его в памяти, результат является правильным. что мне не хватает, почему он изменяется при сохранении на жестком диске. ответьте как можно скорее, а затем tnx ...
Вы не можете использовать тег «encryption», когда вы спрашиваете о вопросе XOR ... Для любого парня вам понадобится около 0,0001 секунды для определения вашего «ключа». –
Как вы пишете/читаете файл? И @ Ремус, похоже, он использует одноразовый блокнот, так как его код использует поток ключей. Это технически безопасно, если он не использует ключ повторно.EDIT: oh, если он не использует ключ короче, чем файл. Тогда да, это будет смешно легко выяснить. – Xzhsh
Попробуйте использовать его с нулями для ключа - работает ли ваш алго? –