#include <iostream>
#include <string>
void encrypt(const std::string& password)
{
size_t mid = password.length() / 2;
size_t exactSize = password.length() + sizeof('+') + sizeof('\0');
std::cout << "password = " << password
<< ", exactSize = " << exactSize
<< ", mid = " << mid
<< ", password[0,mid) = " << password.substr(0, mid)
<< ", password[mid,npos) = " << password.substr(mid, std::string::npos)
<< '\n';
std::string t1(password, mid);
std::string t2(password, 0, mid);
std::cout << "t1 = " << t1 << ", t2 = " << t2 << '\n';
}
int main()
{
encrypt("12345678");
encrypt("123456789");
return 0;
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlIDxzdHJpbmc+CgogICAgdm9pZCBlbmNyeXB0KGNvbnN0IHN0ZDo6c3RyaW5nJiBwYXNzd29yZCkKICAgIHsKICAgICAgICBzaXplX3QgbWlkID0gcGFzc3dvcmQubGVuZ3RoKCkgLyAyOwogICAgICAgIHNpemVfdCBleGFjdFNpemUgPSBwYXNzd29yZC5sZW5ndGgoKSArIHNpemVvZignKycpICsgc2l6ZW9mKCdcMCcpOwoKICAgICAgICBzdGQ6OmNvdXQgPDwgInBhc3N3b3JkID0gIiA8PCBwYXNzd29yZAogICAgICAgICAgICAgICAgICA8PCAiLCBleGFjdFNpemUgPSAiIDw8IGV4YWN0U2l6ZQogICAgICAgICAgICAgICAgICA8PCAiLCBtaWQgPSAiIDw8IG1pZAogICAgICAgICAgICAgICAgICA8PCAiLCBwYXNzd29yZFswLG1pZCkgPSAiIDw8IHBhc3N3b3JkLnN1YnN0cigwLCBtaWQpCiAgICAgICAgICAgICAgICAgIDw8ICIsIHBhc3N3b3JkW21pZCxucG9zKSA9ICIgPDwgcGFzc3dvcmQuc3Vic3RyKG1pZCwgc3RkOjpzdHJpbmc6Om5wb3MpCiAgICAgICAgICAgICAgICAgIDw8ICdcbic7CgogICAgICAgIHN0ZDo6c3RyaW5nIHQxKHBhc3N3b3JkLCBtaWQpOwogICAgICAgIHN0ZDo6c3RyaW5nIHQyKHBhc3N3b3JkLCAwLCBtaWQpOwoKICAgICAgICBzdGQ6OmNvdXQgPDwgInQxID0gIiA8PCB0MSA8PCAiLCB0MiA9ICIgPDwgdDIgPDwgJ1xuJzsKICAgIH0KCiAgICBpbnQgbWFpbigpCiAgICB7CiAgICAgICAgZW5jcnlwdCgiMTIzNDU2NzgiKTsKICAgICAgICBlbmNyeXB0KCIxMjM0NTY3ODkiKTsKCiAgICAgICAgcmV0dXJuIDA7CiAgICB9Cg==
password = 12345678, exactSize = 10, mid = 4, password[0,mid) = 1234, password[mid,npos) = 5678
t1 = 5678, t2 = 1234
password = 123456789, exactSize = 11, mid = 4, password[0,mid) = 1234, password[mid,npos) = 56789
t1 = 56789, t2 = 1234