C++ Socket实现传文件和加密通讯

AI-摘要
qiq GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
C++ Socket实现传文件和加密通讯
DrJustin93C++ Socket实现传文件和加密通讯
若socket服务器端和客户端在同内网下,只能在局域网与服务器端连接,如要实现其连接
租一台服务器直接在服务器运行代码。
在主机是用内网穿透把服务器的ip映射到外网。
实现和原理如下
1. 包含头文件和库
1 |
|
#include<bits/stdc++.h>:包含了几乎所有的标准库。#include<winsock2.h>:用于Windows的网络编程。#include<gmp.h>:GNU多精度算术库,用于大数运算。#pragma comment(lib,"ws2_32.lib"):链接Winsock库。
2. 定义结构体和函数
1 | struct get_key { |
- 定义一个结构体
get_key,用于存储RSA密钥对的n、d和e。
2.1 生成RSA密钥对的函数
1 | mpz_t * RSA_por_max_futioin() { |
- 生成两个大素数
p和q,用于RSA加密。
2.2 获取RSA密钥对的函数
1 | get_key* get_key_n() { |
- 生成RSA密钥对,包括公钥
n和e,私钥d。
2.3 RSA解密函数
1 | char *RSA_de(const char *text_c, const char *key_n, const char* key_d) { |
- 使用私钥
d和模数n对密文c进行解密,得到明文m。
3. 字符转换函数
1 | int transformation(char a[]) { |
- 将字符数组中的小写字母转换为大写字母。
4. 主函数
1 | int main() { |
- 初始化RSA密钥对。
- 初始化Winsock库。
- 创建服务器套接字并绑定到指定端口。
- 监听客户端连接并接受连接请求。
- 发送公钥给客户端。
- 接收并处理客户端发送的消息,根据消息类型进行相应的处理。
来自烤串
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果







