117.info
人生若只如初见

c语言简单加密程序怎么写

下面是一个简单的C语言加密程序的例子:

#include 

void encrypt(char *message, int key) {
    char ch;
    int i;

    for(i = 0; message[i] != '\0'; ++i) {
        ch = message[i];

        if(ch >= 'a' && ch <= 'z') {
            ch = ch + key;

            if(ch > 'z') {
                ch = ch - 'z' + 'a' - 1;
            }

            message[i] = ch;
        }
        else if(ch >= 'A' && ch <= 'Z') {
            ch = ch + key;

            if(ch > 'Z') {
                ch = ch - 'Z' + 'A' - 1;
            }

            message[i] = ch;
        }
    }
}

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

    printf("请输入要加密的消息: ");
    fgets(message, sizeof(message), stdin);

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

    encrypt(message, key);
    printf("加密后的消息: %s\n", message);

    return 0;
}

这个程序使用了凯撒密码的加密算法,它将消息中的字母按照给定的密钥进行位移,生成加密后的消息。每一个字母都会按照它在字母表中的位置进行位移,如果位移后超过了字母表的范围,就会回到字母表的开头。这个程序只对字母进行加密,其他字符不受影响。

运行程序时,你需要输入要加密的消息和加密密钥。程序会打印出加密后的消息。注意,这个程序只是一个简单的例子,实际应用中可能需要更复杂的加密算法来确保数据的安全。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe8aaAzsLBQdUBlA.html

推荐文章

  • c语言goto用法是什么

    在C语言中,goto语句用于从一个位置跳转到另一个位置。它可以用于跳出循环、条件语句或者函数。goto语句的语法如下:
    goto label;
    ...
    label: //...

  • goto在c语言中的运用方法是什么

    goto 语句在 C 语言中允许程序从一个位置跳转到另一个位置。然而,在实际编程中,过度使用 goto 语句通常被认为是一种不好的编程实践,因为它可能导致代码结构混...

  • c语言堆和栈的区别是什么

    C语言中的堆和栈是两种不同的内存分配方式。 栈(Stack):栈是由编译器自动分配和释放的内存区域,用于存储局部变量和函数调用的上下文信息。栈的特点是先进后出...

  • C语言结构体数组怎么定义和使用

    在C语言中,可以通过定义结构体数组来存储多个具有相同数据类型的结构体对象。下面是定义和使用结构体数组的示例代码:
    #include // 定义一个结构体类型

  • java怎么创建一个测试类

    要创建一个测试类,首先需要创建一个新的Java类文件,并以".java"为文件扩展名。
    以下是一个简单的示例:
    public class TestClass { public static vo...

  • java悲观锁的实现方式是什么

    在Java中,悲观锁的实现方式有两种: synchronized关键字:synchronized关键字可以用来修饰方法或代码块,当一个线程获得了对象的锁,其他想要访问该对象的线程就...

  • redis怎么移除list前两项

    要移除Redis列表(List)的前两个元素,可以使用LPOP命令。LPOP命令用于从列表的左侧(头部)移除一个元素,并返回被移除的元素。
    以下是一个示例的Redis命...

  • 怎么检查tomcat启动情况

    要检查Tomcat的启动情况,可以按照以下步骤进行: 打开命令提示符或终端窗口。
    进入Tomcat的安装目录。
    切换到Tomcat的bin目录。
    执行以下命令来...