这是一个基于 Flask 框架开发的网络信息安全课程项目 —— SecureCrypt。系统集成了常见的加密算法,包括对称加密、哈希算法、编码方式与非对称加密等,支持网页交互与 API 接口双重调用。
- AES (高级加密标准)
- SM4(国密对称加密算法)
- RC6(经典对称加密算法)
- SHA1, SHA256, SHA3-256, SHA3-512
- RIPEMD160
- HMAC(基于 SHA1 / SHA256)
- PBKDF2 密码学派生函数
- Base64 编解码
- UTF-8 编解码
- RSA(加密 + 签名)
- ECC(签名 + 验证,支持 NIST256p / SECP256k1 曲线)
SecureCrypt/
│
├── app/
│ ├── crypto/ # 核心算法模块(所有算法逻辑封装于此)
│ │ ├── symmetric_new.py # 对称加密(AES、SM4、RC6)
│ │ ├── hash_new.py # 哈希算法(SHA 系列、HMAC、PBKDF2、RIPEMD160)
│ │ ├── encoding_new.py # 编码模块(Base64 编解码、UTF-8 编码)
│ │ └── asymmetric_new.py # 公钥加密(RSA、ECC、签名与验签)
│ │
│ ├── routes/
│ │ ├── api/
│ │ │ └── routes.py # 所有 API 接口集中定义(@api_blueprint)
│ │ └── web/
│ │ └── routes.py # 所有页面路由(render_template)
│ │
│ ├── templates/ # HTML 页面模板(支持 Jinja2 渲染)
│ │ ├── index.html # 首页导航
│ │ ├── symmetric.html # 对称加密模块页面
│ │ ├── hash.html # 哈希算法模块页面
│ │ ├── encoding.html # 编码模块页面
│ │ ├── asymmetric.html # 公钥加密模块页面
│ │ └── api_doc.html # API 接口说明文档页面
│ │
│ ├── static/
│ │ ├── style.css # 页面通用样式表(美化用)
│ │ └── bg.jpg # 网页背景图片资源
│ │
│ ├── __init__.py # Flask 应用初始化,注册 Blueprint
│ └── config.py # 配置文件(可扩展,如调试模式、密钥管理等)
│
├── run.py # 程序主入口(运行 Flask 项目)
├── requirements.txt # 所有依赖库清单(便于安装环境)
└── README.md # 项目说明文件(用途、功能、用法等)
- 模块清晰、分层合理:crypto 封装算法,routes 分前后端,templates 管页面,static 管样式与资源;
- 可扩展性强:支持后续添加新算法、新页面或接口模块;
- 统一风格与布局:通过
style.css实现全站统一视觉设计; - 接口与页面解耦:前后端完全分离,采用
fetch异步交互方式;
# 1. 安装依赖
pip install -r requirements.txt
# 2. 运行项目
python app.py
# 3. 打开浏览器访问
http://127.0.0.1:5000/- URL:
/api/encrypt/aes - Method: POST
- Body:
{
"text": "HelloSecure",
"key": "base64密钥",
"iv": "base64初始向量",
"mode": "CBC"
}- 响应:
{
"success": true,
"data": {
"cipher": "xxx=="
},
"message": ""
}本项目为网络信息安全密码算法编程-期中作业,仅用于学习展示用途。