Springboot基于BCrypt非对称加密字符串的实现

 更新时间:2023年04月03日 08:34:06   作者:message丶小和尚  
本文主要介绍了Springboot基于BCrypt非对称加密字符串的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1 : BCrypt简介

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

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

2 : 集成BCrypt加密及验证

2.1 : 引入POM

<dependency>
    <groupId>org.mindrot</groupId>
    <artifactId>jbcrypt</artifactId>
    <version>0.3m</version>
</dependency>

2.2 : 工具类

PassWordUtil.java

package com.utils;

import org.mindrot.jbcrypt.BCrypt;

public class PassWordUtil {

    /**
     * 密码加密
     */
    public static String encrypt(String source){
        String salt = BCrypt.gensalt();
        return BCrypt.hashpw(source, salt);
    }

    /**
     * 密码校验
     */
    public static boolean check(String source, String pwdCode){
        return BCrypt.checkpw(source, pwdCode);
    }

}

2.3 : 验证

public static void main(String[] args) {
    String password = "abc123&%*";
    String crypt = encrypt(password);
    System.out.println(crypt);
    System.out.println("==========");
    System.out.println(check(password, crypt));
    System.out.println(check(password + "1", crypt));
}

到此这篇关于Springboot基于BCrypt非对称加密字符串的实现的文章就介绍到这了,更多相关Springboot BCrypt非对称加密字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot整合junit与Mybatis流程详解

    SpringBoot整合junit与Mybatis流程详解

    这篇文章主要介绍了SpringBoot整合第三方技术,包括整合Junit、整合Mybatis,本文通过实例代码相结合给大家介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • idea的easyCode的 MybatisPlus模板的配置详解

    idea的easyCode的 MybatisPlus模板的配置详解

    这篇文章主要介绍了idea的easyCode的 MybatisPlus模板的配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • SpringMVC和Ajax的交互详解(手工处理)

    SpringMVC和Ajax的交互详解(手工处理)

    Ajax即异步的 JavaScript和XML,是一种无需重新加载整个网页的情况下,能够更新部分模块的网页技术,下面这篇文章主要给大家介绍了关于SpringMVC和Ajax交互的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 如何解决@value获取不到yaml数组的问题

    如何解决@value获取不到yaml数组的问题

    文章介绍了在使用YAML配置文件时,通过@Value注解获取整数和数组列表的配置方法,并提供了两种解决方案:一种适用于非嵌套列表,另一种适用于嵌套列表等复杂配置
    2024-11-11
  • JAVA用for循环打印空心菱形

    JAVA用for循环打印空心菱形

    大家好,本篇文章主要讲的是JAVA用for循环打印空心菱形,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • SpringBoot实现物品点赞功能

    SpringBoot实现物品点赞功能

    这篇文章主要介绍了SpringBoot物品点赞功能实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 简述Java编程语言对象的容纳

    简述Java编程语言对象的容纳

    这篇文章主要对Java编程思想中对象的容纳进行了一个总体的介绍,具有一定的参考价值,需要的朋友可以了解下。
    2017-09-09
  • 解决Springboot2.1.x配置Activiti7单独数据源问题

    解决Springboot2.1.x配置Activiti7单独数据源问题

    这篇文章主要介绍了Springboot2.1.x配置Activiti7单独数据源问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Java使用httpRequest+Jsoup爬取红蓝球号码

    Java使用httpRequest+Jsoup爬取红蓝球号码

    本文将结合实例代码,介绍Java使用httpRequest+Jsoup爬取红蓝球号码,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • SpringBoot实现异步的八种方法

    SpringBoot实现异步的八种方法

    Spring Boot 的异步处理主要是通过非阻塞I/O和回调机制来实现的,目的是提高应用的并发性能,它支持多种方式来创建异步任务,本文给大家介绍了SpringBoot实现异步的八种方法,需要的朋友可以参考下
    2024-07-07

最新评论