【Alpha版本】冲刺阶段——Day2

阅读目录

* [今日进展](#1)
* [问题困难](#2)
* [明日任务](#3)
* [今日贡献量](#4)
* [站立式会议](#5)
* [TODOlist](#6)

【今日进展】

密码算法方面:

  • 存储密码的步骤

    1. 使用CSPRNG生成一个长度足够的盐值
    2. 将盐值混入密码,并使用标准的加密哈希函数进行加密
    3. 把哈希值和盐值一起存入数据库中对应此用户的那条记录
  • 校验密码的步骤

    1. 从数据库取出用户的密码哈希值和对应盐值
    2. 将盐值混入用户输入的密码,并且使用同样的哈希函数进行加密
    3. 比较上一步的结果和数据库储存的哈希值是否相同,如果相同那么密码正确,反之密码错误
  • 实现加盐哈希的过程中要避免的错误:

    • 错误一:短盐值和盐值重复。用户创建账户或每次修改密码时,都应该重新生成新的盐值进行加密;如果盐值太短,攻击者可以构造一个查询表包含所有可能的盐值,因此要保证盐值占有相对长的位数。
    • 错误二:两次哈希和组合哈希函数。
  • 参考资料:加盐密码哈希:如何正确使用

连接数据库

  • 参考教材P334页代码编写GetDBConnection类,实现与数据库的连接

  • 编写程序 CreatTable类,使程序在运行时自动在MySQL数据库中创建表格javablacktea,并且表格中含有用户名、加密后的密码、盐值等项目

public class CreatTable {
static String creatsql = "CREATE TABLE javablacktea("
+ "username varchar(50) not null,"
+ "hash varchar(200) not null,"
+ "salt varchar(50) not null"
+ ")charset=utf8;";
public static void Creat() throws SQLException {
Connection con;
Statement stmt;
con = GetDBConnection.connectDB("mysql","root",""); try {
stmt=con.createStatement();
stmt.executeLargeUpdate(creatsql);
stmt.close();
con.close();
}
catch(Exception e) {}
}
}

【问题困难】

  • 原先考虑使用课程中学习过的MD5算法进行加密,但经过一番查询调研后发现,该算法早已过时,网上甚至有专门的网站:http://www1.cmd5.com/ 破解MD5,因此我们需重新选择哈希算法。

【明日任务】

  • 韩啸: 辅助组员完成任务,理解已编写出的程序代码,对自己负责部分内容进行学习

  • 夏云霄: 辅助组员完成任务,理解已编写出的程序代码,对自己负责部分内容进行学习

  • 陈思兵: 辅助组员完成任务,理解已编写出的程序代码,对自己负责部分内容进行学习

  • 朱文远:寻找新的加密算法,编写程序加密部分算法

  • 张家佳:辅助组员完成任务,理解已编写出的程序代码,收集团队成员进展并且汇总,撰写博客

【今日贡献量】

韩啸 夏云霄 陈思兵 朱文远 张家佳
2 3 2 5.5 3.5

【站立式会议】

【TODOlist】

【Alpha版本】冲刺阶段——Day2的更多相关文章

  1. 作业七:团队项目——Alpha版本冲刺阶段

      本次作业为期三周时间,要求各组结合所选项目并阅读教材<构建之法>第六章内容,完成项目的Alpha版本.本阶段的主要内容如下:(20分) 1. 每天组织一次站立会议,讨论每个成员的昨天进 ...

  2. 作业七:团队项目——Alpha版本冲刺阶段010

    今日安排:组内成员讨论 今日进程:组内成员讨论结束,并有明确的解决办法,每个人准备实践

  3. 作业七:团队项目——Alpha版本冲刺阶段009

    今日安排:组内成员讨论 今日进度:组内成员讨论分工细节以及可能遇到的问题,并提出解决方案

  4. 作业七:团队项目——Alpha版本冲刺阶段008

    今日进度:组内成员讨论 今日安排:组内成员分工

  5. 作业七:团队项目——Alpha版本冲刺阶段007

    今日进展:完善游戏主体代码. 今日安排:让游戏能运行起来.

  6. 作业七:团队项目——Alpha版本冲刺阶段006

    今日进展:完成主体代码. 今日安排:对程序主体进行编写.

  7. 作业七:团队项目——Alpha版本冲刺阶段005

    今日进展:编写代码. 今日安排:完成开始部分代码.

  8. 作业七:团队项目——Alpha版本冲刺阶段004

    今日进展:我们的扫雷基本界面已经差不多了,准备开始编写内部代码. 今日安排:做好界面,准备开始代码编写.

  9. 作业七:团队项目——Alpha版本冲刺阶段003

    今日进展:我们的目标是做一款扫雷游戏,所以我们先去玩了几款游戏,找到了扫雷游戏的一些特点. 今日安排:先进行了一些必要的游戏过程,进行了基本的扫雷界面规划.

  10. 作业七:团队项目——Alpha版本冲刺阶段002

    今日进展:我们终于安装好了软件,今天开始进行作业设计. 今日安排:今天开始我们要开始我们的框架的设计.

随机推荐

  1. 1-3-编译Linux内核

    1-3-编译Linux内核 1.将Linux源码包拷贝到共享文件夹. 2.进入共享文件夹. 3.解压,命令#tar xvfj Kernel_3.0.8_TQ210_for_Linux_v2.2.tar ...

  2. 同步fifo的Verilog实现

    FIFO是一种先进先出的数据缓存器,他与普通存储器相比: 优点:没有外部读写地址线,这样使用起来非常简单: 缺点:只能顺序写入数据,顺序的读出数据, 其数据地址由内部读写指针自动加1完成,不能像普通存 ...

  3. 【雅思】【写作】【大作文】Advantage VS. Disadvantage

    Advantage VS. Disadvantage Advantage vs. Disadvantage 社会现象或者做法 “People can work or study on the Inte ...

  4. Python day2 基础 2 数据类型

    数据类型初识 1.数字 2 是一个整数的例子.长整数 不过是大一些的整数.3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4.(-5+4j)和 ...

  5. 20170811 JQuery基础知识学习记录(一)

    基本写法 $(selector).action() $(this).hide() - 隐藏当前元素 $("p").hide() - 隐藏所有 <p> 元素 $(&quo ...

  6. Python识别字符型图片验证码

    前言 验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的 防火墙 功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越来越严峻.本文介绍了一套字符验证码识别的完整流程,对于验 ...

  7. 005-优化web请求一-gzip压缩、http缓存控制和缓存校验[Pragma、Expires、Cache-Control、max-age、Last-Modified、用户刷新访问、避免过度304]

    优化Web应用的典型技术:缓存控制头信息.Gzip.应用缓存.ETag.反应型技术[异步方法调用和WebSocket] 一.模板缓存 spring.thymeleaf.cache=true sprin ...

  8. centos mysql安装 完全版

    在linux中安装数据库首选MySQL,Mysql数据库的第一个版本就是发行在Linux系统上,其他选择还可以有postgreSQL,oracle等 在Linux上安装mysql数据库,我们可以去其官 ...

  9. tf之get_Variable()

    转自:https://blog.csdn.net/UESTC_C2_403/article/details/72327321 1. tf.get_variable(name,  shape, init ...

  10. 多级代理 haproxy 传递X-Forwarded-Proto

    有时候后端需要知道客户端是用的http请求还是https请求,所以一般在haproxy加上一个X-Forwarded-Proto头 http-request set-header X-Forwarde ...