zoukankan      html  css  js  c++  java
  • 我爱java系列---【BCrypt算法】

    BCrypt密码加密

     BCrypt快速入门

    在用户模块,对于用户密码的保护,通常都会进行加密。我们通常对密码进行加密,然后存放在数据库中,在用户进行登录的时候,将其输入的密码进行加密然后与数据库中存放的密文进行比较,以验证用户密码是否正确。 目前,MD5和BCrypt比较流行。相对来说,BCrypt比MD5更安全。

    BCrypt 官网http://www.mindrot.org/projects/jBCrypt/

    (1)我们从官网下载源码

    (2)新建工程,将源码类BCrypt拷贝到工程

    (3)新建测试类,main方法中编写代码,实现对密码的加密

    String gensalt = BCrypt.gensalt();//这个是盐  29个字符,随机生成
    System.out.println(gensalt);
    String password = BCrypt.hashpw("123456", gensalt);  //根据盐对密码进行加密
    System.out.println(password);//加密后的字符串前29位就是盐

    (4)新建测试类,main方法中编写代码,实现对密码的校验。BCrypt不支持反运算,只支持密码校验。

    boolean checkpw = BCrypt.checkpw("123456","$2a$10$61ogZY7EXsMDWeVGQpDq3OBF1.phaUu7.xrwLyWFTOu8woE08zMIW");//第一个参数是明文密码,第二个是数据库查出来的加密后的密码
    System.out.println(checkpw);//如果二者一致,打印出true

     

    愿你走出半生,归来仍是少年!
  • 相关阅读:
    学了axure的感受
    axure的功能
    PS的应用
    day15-1 模块
    day14-2 模块详解
    day14-1 模块定义,导入
    day13-1 Json & pickle 数据序列化
    day12-3 内置方法
    day12-2 内置方法
    day12-1 迭代器和生成器
  • 原文地址:https://www.cnblogs.com/hujunwei/p/11894640.html
Copyright © 2011-2022 走看看