这是一个使用C语言编写的带有双重密钥的加密系统,它使用了简单的凯撒密码和替代密码算法,并且没有使用指针。

#include <stdio.h>
#include <stdlib.h>

// 凯撒密码加密函数
char caesarEncrypt(char ch, int key) {
    if (ch >= 'A' && ch <= 'Z') {
        return (ch - 'A' + key) % 26 + 'A';
    } else if (ch >= 'a' && ch <= 'z') {
        return (ch - 'a' + key) % 26 + 'a';
    }
    return ch;
}

// 替代密码加密函数
char substitutionEncrypt(char ch, char key) {
    if (ch >= 'A' && ch <= 'Z') {
        return (ch - 'A' + (key - 'A')) % 26 + 'A';
    } else if (ch >= 'a' && ch <= 'z') {
        return (ch - 'a' + (key - 'A')) % 26 + 'a';
    }
    return ch;
}

// 加密函数
void encrypt(char* input, char* key1, char* key2) {
    int i = 0;
    while (input[i] != '\0') {
        char ch = input[i];
        ch = caesarEncrypt(ch, key1[i % 3] - 'A');  // 使用凯撒密码加密
        ch = substitutionEncrypt(ch, key2[i % 3]);  // 使用替代密码加密
        printf('%c', ch);
        i++;
    }
    printf('\n');
}

int main() {
    char input[100];
    char key1[3];
    char key2[3];

    printf("请输入要加密的字符串:");
    scanf("%s", input);

    printf("请输入第一个密钥(3个大写字母):");
    scanf("%s", key1);

    printf("请输入第二个密钥(3个大写字母):");
    scanf("%s", key2);

    encrypt(input, key1, key2);

    return 0;
}

使用这个程序,你可以输入要加密的字符串和两个密钥,程序将输出加密后的结果。其中,第一个密钥用于凯撒密码加密,第二个密钥用于替代密码加密。结果将以密文形式输出。

请注意,这只是一个简单的加密系统示例,它并不是一个安全的加密算法,因此不建议用于实际的加密需求。

C语言双重密钥加密系统(无指针) - 凯撒密码和替代密码

原文地址: https://www.cveoy.top/t/topic/vhB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录