当前位置: 首页 > news >正文

【C语言练习】082. 使用C语言实现简单的加密算法

082. 使用C语言实现简单的加密算法

  • 082. 使用C语言实现简单的加密算法
      • 凯撒移位加密
      • XOR异或加密
      • 简单置换加密
      • Vigenère维吉尼亚加密
      • 注意事项
    • 1. 异或加密算法
      • 示例代码:异或加密
        • 示例运行
    • 2. 凯撒密码加密算法
      • 示例代码:凯撒密码加密
        • 示例运行
    • 3. 注意事项
    • 4. 总结

082. 使用C语言实现简单的加密算法

在C语言中,实现简单的加密算法可以通过多种方式,例如使用异或(XOR)加密、凯撒密码(Caesar Cipher)或更复杂的加密算法。这里,我们将实现一个简单的异或加密算法和一个凯撒密码加密算法。

凯撒移位加密

凯撒密码是最简单的替换加密方法之一,通过将字母表中的每个字母移动固定位数实现加密。

#include <stdio.h>
#include <ctype.h>void caesar_cipher(char* text, int shift) {for (int i = 0; text[i] != '\0'; i++) {if (isupper(text[i])) {text[i] = (text[i] - 'A' + shift) % 26 + 'A';} else if (islower(text[i])) {text[i] = (text[i] - 'a' + shift) % 26 + 'a';}}
}

调用示例:

char message[] = "HELLO";
caesar_cipher(message, 3);  // 加密
caesar_cipher(message, -3); // 解密

XOR异或加密

XOR加密利用按位异或操作的可逆性进行加密,密钥可以是单个字符或多个字符。

#include <stdio.h>
#include <string.h>void xor_encrypt(char* data, const char* key) {size_t key_len = strlen
http://www.xdnf.cn/news/887005.html

相关文章:

  • 钉钉 - 机器人消息推送(签名版)
  • 【C++高阶二】STL的map和set
  • 软件测试基础知识总结
  • 基于51单片机的温控电机系统
  • Axure 与 Cursor 集成实现方案
  • 服务虚拟化HoverFly
  • MySQL中的部分问题(1)
  • EXCEL如何快速批量给两字姓名中间加空格
  • 区间动态规划
  • Next.js中Protected Route(受保护路由)
  • Next.js 中间件鉴权绕过漏洞 CVE-2025-29927
  • [Java恶补day16] 238.除自身以外数组的乘积
  • 命名管道实现本地通信
  • 回溯算法复习(1)
  • Flash烧录速度和加载配置速度(纯FPGA ZYNQ)
  • 基于RK3568的多网多串电力能源1U机箱解决方案,支持B码,4G等
  • Selenium常用函数介绍
  • 深度解码:我如何用“结构进化型交互学习方法”与AI共舞,从学习小白到构建复杂认知体系
  • 【Web】D^3CTF 2025题解
  • 打卡Day45
  • Redis(02)Win系统如何将Redis配置为开机自启的服务
  • 如何选择专业数据可视化开发工具?为您拆解捷码全功能和落地指南!
  • Android 进程分类
  • 5G 网络中 DRX(非连续接收)技术深度解析
  • java: 找不到符号 符号: 变量 log
  • 【opencv】基础知识到进阶(更新中)
  • Modern C++(三)表达式
  • Kafka深度解析与原理剖析
  • MySQL数据库基础(一)———数据库管理
  • 华为OD最新机试真题-小明减肥-OD统一考试(B卷)