#include <iostream>
#include <string>
 
void simple_xor(void* data, std::size_t size, const std::string& password)
{
  char* p = static_cast<char*>(data);
  for (std::size_t i = 0; size-- != 0; ++i)
    *p++ ^= password[i % password.size()];
}
 
int main()
{
  std::string data = "Guten Tag, ich bin geheim!";
  std::string password = "blubb";
  simple_xor(&data[0], data.size(), password);
  simple_xor(&data[0], data.size(), password);
  std::cout << data << '\n';
} 