MENU

暗号

暗号文字を解読する

A ~ Z のアルファベットを他のアルファベットに暗号化するためのテーブルとして, table[0] ~ table[25] を用意し, A を暗号化したときの文字を table[1], ... と格納します。 A ~ Z 以外の文字は table[26] に ? として格納します。 これを写像としてとらえてみます。 f:id:Manao55:20201009001001j:plain 以下にプログラムを示します。

プログラム

#include <stdio.h>

void main(void)
{
    static char table[] = {'Q','W','E','R','T','Y','U','I','O','P',
                           'A','S','D','F','G','H','J','K','L','Z',
                           'X','C','V','B','N','M','?'};
    char *a,*crypto="KSOIDHEPZ";
    int index;

    a=crypto;
    while (*a!='\0'){
        if('A'<=*a && *a<='Z')
            index=*a-'A';
        else
            index=26;
        putchar(table[index]);
        a++;
    }
}

table[] が暗号化テーブルになります。

実行結果

ALGORITHM