Bcrypt加密算法_案例_好处_资料下载地址

2024-08-23 12:44

本文主要是介绍Bcrypt加密算法_案例_好处_资料下载地址,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Bcrypt盐值加密

文章目录

  • Bcrypt盐值加密
    • 1.Bcrypt加密算法的好处
    • 2.案例代码
    • 3.jar包下载地址
    • 4.Bcrypt中密码对比的过程
    • 5.MD5中密码对比的过程

1.Bcrypt加密算法的好处

(1)Bcrypt对密码管理非常方便,采用hash+salt的方式,使用密码生成salt和hash,并将salt加入到hash里面去,从而使得salt不需要单独保存,同时嫌“MD5”计算速度太快,从而加入了反复执行的功能,降低暴力破解的风险。

(2)此种方式加密的好处是,尽管每次加密的明文相同,但当加上盐值之后,每次生成返回的密文都不一样

例如:每次对明文“123456”采用Bcrypt加密算法加密,生成的密文都会不一样。

2.案例代码

package com.gdc.util;import org.junit.Test;
import org.springframework.security.crypto.bcrypt.BCrypt;public class BcryptDemo {/*** 加密的演示* 1.加密过程:明文-->加密算法+盐值-->密文* (1)密文是一个盐值与密文的组合体*/@Testpublic void test1() {String password = "123456";//1.得到一个盐值String gensalt = BCrypt.gensalt();//2.使用盐值加密String hashpw = BCrypt.hashpw(password, gensalt);System.out.println("盐值:" + gensalt);System.out.println("密码:"+hashpw);}/*** 解密的演示* 1.解密过程:明文-->加密算法-->密文-->密码比对* (1)只给了密码,没有给盐值,是因为加密后的密文是盐值与密文的组合体*/@Testpublic void test2() {String password = "123456";boolean checkpw = BCrypt.checkpw(password, "$2a$10$m367hSsLvpOG9UvWwndxUuooNXeMBDsJyPdONiRAJU52/95WqGCD6");System.out.println(checkpw);}
}

3.jar包下载地址

(1)Bcrypt密文工具下载地址:
https://gitee.com/mzq-123/picture/raw/master/Bcrypt/BCrypt-de.jar

(2)Bcrypt密文生成工具下载地址:
https://gitee.com/mzq-123/picture/raw/master/Bcrypt/BCrypt-en.jar

4.Bcrypt中密码对比的过程

(1)明文
(2)加密算法
(3)密文
(4)密文和数据库中的密文对比(通过字节数组循环对比的)

它会极大的延长暴力破解的时间

5.MD5中密码对比的过程

(1)明文
(2)MD5加密算法
(3)密文
(4)密文和数据库中的密文对比(通过equals对比)

这篇关于Bcrypt加密算法_案例_好处_资料下载地址的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1099414

相关文章

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Python下载Pandas包的步骤

《Python下载Pandas包的步骤》:本文主要介绍Python下载Pandas包的步骤,在python中安装pandas库,我采取的方法是用PIP的方法在Python目标位置进行安装,本文给大... 目录安装步骤1、首先找到我们安装python的目录2、使用命令行到Python安装目录下3、我们回到Py

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Linux配置IP地址的三种实现方式

《Linux配置IP地址的三种实现方式》:本文主要介绍Linux配置IP地址的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境RedHat9第一种安装 直接配置网卡文件第二种方式 nmcli(Networkmanager command-line

使用国内镜像源优化pip install下载的方法步骤

《使用国内镜像源优化pipinstall下载的方法步骤》在Python开发中,pip是一个不可或缺的工具,用于安装和管理Python包,然而,由于默认的PyPI服务器位于国外,国内用户在安装依赖时可... 目录引言1. 为什么需要国内镜像源?2. 常用的国内镜像源3. 临时使用国内镜像源4. 永久配置国内镜

MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固 通俗易懂版)

《MySQL中实现多表查询的操作方法(配sql+实操图+案例巩固通俗易懂版)》本文主要讲解了MySQL中的多表查询,包括子查询、笛卡尔积、自连接、多表查询的实现方法以及多列子查询等,通过实际例子和操... 目录复合查询1. 回顾查询基本操作group by 分组having1. 显示部门号为10的部门名,员

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Python如何快速下载依赖

《Python如何快速下载依赖》本文介绍了四种在Python中快速下载依赖的方法,包括使用国内镜像源、开启pip并发下载功能、使用pipreqs批量下载项目依赖以及使用conda管理依赖,通过这些方法... 目录python快速下载依赖1. 使用国内镜像源临时使用镜像源永久配置镜像源2. 使用 pip 的并

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar