C语言でシンプルな暗号化アルゴリズムを実装するには?
C 言語で単純な暗号化アルゴリズムを実装するには、文字の置き換え、文字のシフト、または「排他的論理和」操作を使用できます。次に、文字を置き換える単純な暗号化アルゴリズムのサンプルを示します。
#include <stdio.h>
void encrypt(char *str, int key) {
int i = 0;
while (str[i] != '\0') {
str[i] = str[i] + key;
i++;
}
}
void decrypt(char *str, int key) {
int i = 0;
while (str[i] != '\0') {
str[i] = str[i] - key;
i++;
}
}
int main() {
char message[] = "Hello, World!";
int key = 5;
// 加密
encrypt(message, key);
printf("加密后的消息: %s\n", message);
// 解密
decrypt(message, key);
printf("解密后的消息: %s\n", message);
return 0;
}
この例では、暗号化関数は文字列の各文字を指定されたキーと加算し、復号関数は文字列の各文字からキーを引きます。上述のコードを実行すると、次のような出力が得られます。
加密后的消息: Mjqqt,%\twqi&
解密后的消息: Hello, World!
この例は単純な文字置換暗号化アルゴリズムであることに注意してください。これは、安全な暗号化手法ではありません。実際の応用では、データの安全性を保護するために、より複雑で安全な暗号化アルゴリズムを使用する必要があります。