Coder Social home page Coder Social logo

alreadyonvacation's Introduction



Logo

项目介绍

本项目是直接放假组**传媒大学密码学应用实践课程 的结课作业。

功能清单

  • 基于网页的用户注册与登录系统
    • 使用https绑定证书到域名而非IP地址
    • 允许用户注册到系统
      • 用户名的合法字符集范围:中文、英文字母、数字
        • 类似:-、_、.等合法字符集范围之外的字符不允许使用
      • 用户口令长度限制在36个字符之内
      • 对用户输入的口令进行强度校验,禁止使用弱口令
    • 使用合法用户名和口令登录系统
    • 禁止使用明文存储用户口令
      • 存储的口令即使被公开,也无法还原/解码出原始明文口令
  • 基于网页的文件上传加密与数字签名系统
    • 限制文件大小:小于 10MB
    • 限制文件类型:office文档、常见图片类型
    • 匿名用户禁止上传文件
    • 对文件进行对称加密存储到文件系统,禁止明文存储文件
    • 系统对加密后文件进行数字签名
  • 基于网页的加密文件下载与解密
    • 提供匿名用户加密后文件和关联的数字签名文件的下载
      • 客户端对下载后的文件进行数字签名验证
      • 客户端对下载后的文件可以解密还原到原始文件
    • 提供已登录用户解密后文件下载
    • 下载URL设置有效期(限制时间或限制下载次数),过期后禁止访问
    • 提供静态文件的散列值下载,供下载文件完成后本地校验文件完整性

本项目用到的关键技术

  • 对称加密:AES
  • 非对称加密:RSA
  • 数字签名:SHA256withRSA
  • 前端:Vue.js 3.0
  • 后端:Flask
  • 数据库:MySQL

快速上手体验

DEMO

打开浏览器访问:

即可快速体验系统所有功能。

本地运行

本地运行方式:python3 app.py

依赖环境安装补充说明

  • 相关依赖在requirements.txt文件中,可以通过命令:pip install -r requirements.txt安装。
  • 数据库账号密码写在app.py文件中,可进行更改,数据库表结构在cucpan.sql

演示视频

BILIBILI

alreadyonvacation's People

Contributors

jiewu1205 avatar mengqiurong avatar aweiweiwe avatar 2020212063047 avatar

Watchers

huangwei avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.