Es que estoy creando una librería de cifrados y codificaciones y ya que estoy pues cuelgo los codes aki.
EDITO:Otro code básico de cifrado por desplazamiento. Este esta basado en
Atbash#include <string>
using std::string;
string atbash(string);
string atbash(string s)
{
string ct;
char abc[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char cba[26]={'z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'};
char ABC[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
char CBA[26]={'Z','Y','X','W','V','U','T','S','R','Q','P','O','N','M','L','K','J','I','H','G','F','E','D','C','B','A'};
for(int i=0;i<s.size();i++)
{
if(s[i]>='a' && s[i]<='z' || s[i]>='A' && s[i]<='Z')
{
for(int p=0;p<26;p++)
{
if (s[i]>='a' && s[i]<='z')
{
if(s[i]==abc[p])
ct += cba[p];
} else if(s[i]>='A' && s[i]<='Z') {
if(s[i]==ABC[p])
ct += CBA[p];
}
}
} else {
ct += s[i];
}
}
return ct;
}