シーザ暗号

http://www.geocities.jp/ky_webid/algorithm/019.html

凄く単調な暗号化ですね。文字をずらしたり置き換えたりするだけです。

さっそく作ってみましょう。

#include <stdio.h>
#include <string.h>

int main (void) {
    char enc[100];
    size_t i;
    int key = 3;
    
    puts("値を入力してください");
    scanf("%s",enc);
    
    // 暗号化
    for(i=0;i<strlen(enc);i++){
        enc[i] += (char)key;
    }
    printf("%s\n",enc);
    
    // 複号
    for(i=0;i<strlen(enc);i++){
        enc[i] -= (char)key;
    }
    printf("%s\n",enc);
    
    return 0;
}
$ main
値を入力してください
sdfad
vgidg
sdfad

できました。凄くシンプルです。

いつかもっと複雑な暗号化にもチャレンジしたいところですね。