Crittografia Simmetrica fatta in casa

void CRIPT(string &messaggio, int chiave)
{
    
    for(int i=0;i<messaggio.length();i++)
    {
        if((int)messaggio[i]+chiave<255 || (int)messaggio[i]+chiave>0)
        messaggio[i]=char((int)messaggio[i]+chiave);
        else
        {
            if(chiave>0)
            messaggio[i]=messaggio[(int)messaggio[i]+chiave-255]; 
            else
            messaggio[i]=messaggio[((int)messaggio[i]+chiave)+255];     
           
        }
       
    }
   
}