Java安全大作业

作业目的

在已掌握的 Java EE 技术的基础上,将所学加密解密以及数字摘
要技术应用与 Java EE 开发,加深对所学知识的理解。

作业内容

1、用户注册功能:开发用户注册功能,需要填写的字段主要包
括:用户名、密码、公开秘钥、非对称密码算法、数字摘要算法。
用户注册中所填写的信息中的密码使用 MD5 或 SHA 算法,转换为数
字摘要后存储到数据库。
2、用户登录功能:用户输入用户名和密码登录到系统,输入的
密码需要通过 MD5 或 SHA 算法转换为数字摘要后,和存储在数据库
中的数字摘要进行比对,来判断是否允许登录。
3、获取公钥功能:在页面中输入学生 ID、点击提交按钮,将
ID 信息提交至服务器,提交至服务器后,在服务器中可以通过该学
生的 ID,获取到该同学的公共秘钥。
4、线下加密功能:获取到公钥信息后,通过 Java 程序对一段
明文进行加密。
5、提交加密信息:输入学生 ID 及加密后的文本,点击提交后
将加密后的信息保存至数据库。
6、用户登录后:如果看到加密信息字段有值,那么该值会在用
户界面中显示,用户通过线下的方式解密信息获得明文。

注:

  • 数据库中只需要一张用户表:主键、用户名、密码、公钥、
    加密后的信息、摘要算法(MD5/SHA)、加密算法(RSA)。在数据库建
    表的时候注意公钥和加密后信息的长度。
  • 密码使用每位同学的学号,eg:张三同
    学学号为:1234567,那么他存储到数据库的密码应该为:
    MD5(1234567)。
  • 在信息加密解密中两位同学组成一组,a 同学输入 b 同学的
    id,获取 b 同学的公钥信息,然后加密一段信息,将该信息存储到 b
    同学的数据库记录中的加密后信息列。b 同学登录后可以看到该加
    密信息,然后自己通过线下方式解密。b 同学通过输入 a 同学的
    id,获取 a 同学的公钥,然后用公钥对信息进行加密,加密后将信
    息存储到数据库,a 同学登录后,如果数据库中有加密的信息,a 同
    学可以看到加密的信息,并将信息进行解密。在作业中需要显示你
    和哪位同学一组完成的该项工作。

截止时间

十六周周五

使用技术

基于 Java Web 开发技术完成
主要使用 HTML、Servlet、JDBC、Java 加密与解密、Java 数字摘要算法,使用 MySQL 数据库。


代码仓库GitHub

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,734评论 25 709
  • 最近喜欢上了这个表情:小刘鸭,觉得它的表情呆萌,还带着一点点“小邪恶”。那些“呵呵,哈哈,好的,晚安”都特别有意思...
    茉莉大大阅读 3,532评论 0 0
  • 今天下午二宝给我们带来惊喜——走路了!自主独立的连续走且少摔跤。这是个骄傲的日子(2016.6.23),对二宝,也...
    好馨勤阅读 1,261评论 1 0