admin 管理员组

文章数量: 1086019


2024年4月29日发(作者:jeer)

c语言字符串加密方式

在C语言中,字符串加密可以通过多种方式实现,这里提供一种简单的加密

方式,即凯撒密码(Caesar cipher)加密。

凯撒密码是一种简单的替换密码,它将明文中的每个字符替换为字母表中固

定位置后的字符。例如,如果将字母表中的每个字符向后移动3个位置,那

么明文 "hello" 将被加密为 "khoor".

下面是一个使用C语言实现凯撒密码加密的示例代码:

```c

include <>

include <>

include <>

void encrypt(char str, int shift) {

int len = strlen(str);

for (int i = 0; i < len; i++) {

char c = tolower(str[i]);

if (isalpha(c)) {

c = ((c - 'a' + shift) % 26) + 'a';

}

str[i] = c;

}

}

int main() {

char str[100];

int shift;

printf("Enter a string: ");

fgets(str, sizeof(str), stdin);

printf("Enter the shift value: ");

scanf("%d", &shift);

encrypt(str, shift);

printf("Encrypted string: %s", str);

return 0;

}

```

在这个示例中,我们定义了一个 `encrypt` 函数来执行凯撒密码加密。该函

数接受两个参数:要加密的字符串和移动的位数。该函数遍历字符串中的每

个字符,将其转换为小写字母,并根据移动的位数进行替换。最后,将加密

后的字符串返回给调用者。

在 `main` 函数中,我们首先从用户那里获取要加密的字符串和移动的位数,

然后调用 `encrypt` 函数来执行加密操作,并输出加密后的字符串。


本文标签: 加密 字符串 移动