Итак, у меня есть функция шифрования
std::string encrypt(std::string text, int s)
{
std::string result = "";
// traverse text
for (int i = 0; i < text.length(); i++)
{
// apply transformation to each character
// Encrypt Uppercase letters
if (isupper(text[i]))
result += char(int(text[i] + s - 65) % 26 + 65);
// Encrypt Lowercase letters
else
result += char(int(text[i] + s - 97) % 26 + 97);
}
// Return the resulting string
return result;
}
, которую можно использовать так:
std::string ans = "AABBCCDDEEFFGGH"
std::time_t result = std::time(nullptr);
DWORD Hours = ((result / 60) / 60) / ans.length();
std::cout << "Output: " << encrypt(ans, Hours) << std::endl;
Я попытался сделать функцию дешифрования, но с треском провалился, получив результат как:
┐┐ªªºº¿¿⌐⌐¬¬½½¼
Может ли кто-нибудь помочь?
Вы, ребята, просили функцию дешифрования, которую я пытался сделать, вот она:
std::string decrypt(std::string encryptedtext, int s)
{
std::string result;
//RZHUPINVGIQZHXW
for (int i = 0; i < encryptedtext.length(); i++)
{
if (isupper(encryptedtext[i]))
result += char(int((65 - (encryptedtext[i] + 65 - s) % 26) + 65));
else
result += char(int((97 - (encryptedtext[i] + 65 - s) % 26) + 97));
}
return result;
}
Я немного с ней поигрался , и я получил буквы с кружками наверху