现代化架构演进 - 核心模块
一个高性能、高安全性的客户端/服务器架构系统,专为金融级应用设计。
solo/ ├── config/ # 配置文件 │ └── config.py ├── server/ # 服务端 │ └── server.py # 异步服务器,支持 TLS ├── client/ # 客户端(待实现) ├── crypto/ # 加密模块(核心!) │ ├── include/ # 头文件 │ │ └── financial_crypto.h │ ├── src/ # C 语言源码 │ │ ├── sha256.c # SHA-256 哈希 │ │ ├── hmac.c # HMAC-SHA256 │ │ ├── aes256.c # AES-256-CBC 加密 │ │ └── utils.c # 工具函数 │ ├── __init__.py # Python 绑定 │ ├── build.py # 构建脚本 │ └── CMakeLists.txt # CMake 构建配置 ├── utils/ # 工具模块 │ ├── security.py # 安全管理器(支持双方案) │ └── logger.py # 日志模块 ├── examples/ # 示例代码 │ └── test_crypto.py # 加密库测试 ├── requirements.txt └── README.md
pip install -r requirements.txt
cd crypto python build.py
cd crypto mkdir build && cd build cmake .. cmake --build . --config Release
构建完成后,动态库会自动复制到 crypto/lib/ 目录。
crypto/lib/
cd examples python test_crypto.py
from crypto import ( sha256, hmac_sha256, aes_256_cbc_encrypt, aes_256_cbc_decrypt, generate_random_bytes, encrypt_text_to_base64, decrypt_from_base64 ) # SHA-256 哈希 hash_result = sha256(b"Hello World") print(hash_result.hex()) # HMAC-SHA256 hmac_result = hmac_sha256(b"secret-key", b"data") # AES-256-CBC 加密 key = generate_random_bytes(32) iv = generate_random_bytes(16) ciphertext = aes_256_cbc_encrypt(key, iv, b"sensitive data") plaintext = aes_256_cbc_decrypt(key, iv, ciphertext) # Base64 便捷加密 encrypted = encrypt_text_to_base64(key, "秘密信息") decrypted = decrypt_from_base64(key, encrypted)
#include "financial_crypto.h" // SHA-256 哈希 uint8_t hash[SHA256_DIGEST_SIZE]; size_t hash_len = SHA256_DIGEST_SIZE; sha256_hash(data, data_len, hash, &hash_len); // AES-256-CBC 加密 uint8_t key[32], iv[16]; // ... 初始化 key 和 iv ... uint8_t ciphertext[MAX_SIZE]; size_t ciphertext_len = MAX_SIZE; aes_256_cbc_encrypt(key, 32, iv, 16, plaintext, plaintext_len, ciphertext, &ciphertext_len);
# 首先需要准备 TLS 证书(开发环境可以使用自签名证书) mkdir -p certs # 使用 openssl 生成自签名证书... # 启动服务器 cd server python server.py
config/config.py
JWT_SECRET_KEY
相比纯 Python 实现的加密库,本系统的优势:
如果无法编译 C 语言加密库,系统会自动降级使用 Python 的 cryptography 库作为备用方案,功能完全兼容,仅性能有所下降。
cryptography
本项目仅供学习和研究使用。
如有问题或建议,欢迎提交 Issue。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
金融级 C/S 架构系统
一个高性能、高安全性的客户端/服务器架构系统,专为金融级应用设计。
核心特性
🔐 安全性
⚡ 高性能
🏗️ 架构设计
快速开始
环境要求
安装依赖
构建加密库
方法 1:使用构建脚本(推荐)
方法 2:手动使用 CMake
构建完成后,动态库会自动复制到
crypto/lib/目录。运行测试
加密模块使用
Python API 示例
C 语言 API 示例
启动服务器
安全说明
生产环境部署建议
config/config.py中的JWT_SECRET_KEY加密算法说明
性能优势
相比纯 Python 实现的加密库,本系统的优势:
备用方案
如果无法编译 C 语言加密库,系统会自动降级使用 Python 的
cryptography库作为备用方案,功能完全兼容,仅性能有所下降。许可证
本项目仅供学习和研究使用。
联系方式
如有问题或建议,欢迎提交 Issue。