Этот вопрос закрыт для ответов, так как повторяет вопрос Как зашифровать строку c++?
@danij_com

Как зашифровать строку c++?

Доброго времени суток!
Очень нужна помощь. Пытаюсь сделать что-то вроде этого:
Программа парсит в 8 переменных 8 строк из файла, зашифровывает их, записывает в дугой файл, парсит и расшифровывает уже из второго файла и выводит.
Ничего не выходит, работает каждый раз не так, как надо.
Получаю строки так:
void getData() {
	std::ifstream file("fileone.txt");
	std::getline(file, str1);
	std::cout << str1 << std::endl;
	std::getline(file, str2);
	std::cout << str2 << std::endl;
	std::getline(file, str3);
	std::cout << str3 << std::endl;
	std::getline(file, str4);
	std::cout << str4 << std::endl;
	std::getline(file, str5);
	std::cout << str5 << std::endl;
	std::getline(file, str6);
	std::cout << str6 << std::endl;
	std::getline(file, str7);
	std::cout << str7 << std::endl;
	std::getline(file, str8);
	std::cout << str8 << std::endl;
	file.close();
}

Далее шифр
std::string encryptDecrypt(std::string toEncrypt) {
	char key[3] = { 'E', 'B', 'A' }; //Any chars will work, in an array of any size
	std::string output = toEncrypt;
	//std::cout << toEncrypt;

	for (int i = 0; i < toEncrypt.size(); i++)
		output[i] = toEncrypt[i] ^ key[i % (sizeof(key) / sizeof(char))];
	//std::cout << output;
	return output;
}

Пишу в файл вот так
void writeFile() {
	std::ofstream out("filesecond.txt", std::ios_base::trunc);
	out << encryptDecrypt(str1) + "\n" + encryptDecrypt(str2) + "\n" + encryptDecrypt(str3) + "\n" + encryptDecrypt(str4) + "\n" + encryptDecrypt(str5)
		+ "\n" + encryptDecrypt(str6) + "\n" + encryptDecrypt(str7) + "\n" + encryptDecrypt(str8);
		/*<< std::endl;
	out << encryptDecrypt(str2) << std::endl;
	out << encryptDecrypt(str3) << std::endl;
	out << encryptDecrypt(str4) << std::endl;
	out << encryptDecrypt(str5) << std::endl;
	out << encryptDecrypt(str6) << std::endl;
	out << encryptDecrypt(str7) << std::endl;
	out << encryptDecrypt(str8) << std::endl;*/
	out.close();
	Sleep(300);
}

И получаю из нового файла
void getData2() {
	std::ifstream file("filesecond.txt");
	std::getline(file, str1);
	std::cout << str1 << std::endl;
	std::getline(file, str2);
	std::cout << str2 << std::endl;
	std::getline(file, str3);
	std::cout << str3 << std::endl;
	std::getline(file, str4);
	std::cout << str4 << std::endl;
	std::getline(file, str5);
	std::cout << str5 << std::endl;
	std::getline(file, str6);
	std::cout << str6 << std::endl;
	std::getline(file, str7);
	std::cout << str7 << std::endl;
	std::getline(file, str8);
	std::cout << str8 << std::endl;
	file.close();
}

Пожалуйста, исправьте меня, я уже и не знаю, куда копать(
  • Вопрос задан
  • 323 просмотра
Ответы на вопрос 1
В функции getData2() вы забыли расшифровать данные после чтения.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы