1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| /** Table de remplacement */
// { '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' };
static const char ReplacementMaj[] = { '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' };
// { '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' };
static const char ReplacementMin[] = { '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 Decrypt(const char C)
{
// Recuperer la value numerique du character
const int CleNum = (int)C;
// La lettre est-elle Majuscule?
if (CleNum >= (int)'A' && CleNum <= (int)'Z') // C-cast. et alors? :)
{
return ReplacementMaj[CleNum - (int)'A'];
}
// Est-elle possible Minuscule?
if ( CleNum >= ('a') && CleNum <= 'z' )
{
return ReplacementMin[CleNum - (int)'a'];
}
//La lettre n'est pas decryptable
return '?';
}
char Decrypt(const wchar_t C)
{
if(C > 0x7F) // Le caractère n'est pas ASCII pure
return '?'; //La lettre n'est pas decryptable
return Decrypt((char)C);
} |
Partager