以下是一个使用C语言编写的简单加密解密程序,采用了简单的位移加密算法:

#include <stdio.h>

// 函数声明
void encrypt(char* str, int key);
void decrypt(char* str, int key);

int main() {
    char str[100];
    int key;

    printf("请输入要加密的字符串:");
    fgets(str, sizeof(str), stdin);

    printf("请输入加密密钥:");
    scanf("%d", &key);

    // 加密
    encrypt(str, key);
    printf("加密后的字符串:%s\n", str);

    // 解密
    decrypt(str, key);
    printf("解密后的字符串:%s\n", str);

    return 0;
}

// 加密函数
void encrypt(char* str, int key) {
    int i = 0;
    while (str[i] != '\0') {
        if (str[i] >= 'a' && str[i] <= 'z') {
            str[i] = 'a' + (str[i] - 'a' + key) % 26;
        } else if (str[i] >= 'A' && str[i] <= 'Z') {
            str[i] = 'A' + (str[i] - 'A' + key) % 26;
        }
        i++;
    }
}

// 解密函数
void decrypt(char* str, int key) {
    // 解密与加密过程相同,只是密钥取反
    encrypt(str, -key);
}

这个程序中使用了一个简单的位移加密算法,即将输入的字符串中的每个字母按照密钥进行位移操作,位移的规则是将字母的ASCII码加上密钥,然后通过取模运算确保结果仍在合法的字母范围内。解密过程与加密过程相同,只是密钥取反。

请注意,这个加密算法非常简单,只是为了演示加密解密程序的基本原理。在实际应用中,应该使用更复杂的加密算法来保证安全性。

C语言实现简单高效的加密解密程序

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

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