zoukankan      html  css  js  c++  java
  • 【Alpha版本】冲刺阶段——Day2

    【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】

  • 相关阅读:
    ubuntu 解决“无法获得锁 /var/lib/dpkg/lock -open (11:资源暂时不可用)”的方法
    解决VMware安装ubuntu16.04后无法全屏的问题
    力推:无限制下载神器aria2
    使用Pangolon在同一副图中,画出两个轨迹,比较误差
    Pangolin中opengl的混合(gl_blend)
    Ubuntu 16.04: How to install OpenCV
    ubuntu16.04下安装Eigen
    ubuntu16.04下安装Sophus
    svn删除账户信息
    javaweb乱码(tomcat服务器)
  • 原文地址:https://www.cnblogs.com/javahc/p/9157795.html
Copyright © 2011-2022 走看看