SpringBoot对注册用户密码进行Bcrypt密码加密
一.注册用户时,用户的密码一般都是加密存储在数据库中.今天我要用到的加密方式是Bcrypt加密.
1.首先在SpringBoot项目的pom文件中,引入SpringSecurity相关依赖,目的是为了使用BcryptPasswordEncoder类用于加密

引入这个依赖会出现一个问题:它会默认将用户微服务的所有请求拦截
访问资源会出现以下界面

该框架给了一个默认账号:user 密码在每次服务启动时在启动页面输出
用这个就可以进行登录,但是登录之后服务器资源依旧被拦截

所以需要我们手动提供一个security配置类,对一些静态资源,注册登录页面放行
在SpringBoot启动类同级的地方创建一个security配置类,加上@Configuration注解,继承WebSecurityConfigurerAdapter类,重写configure方法(参数是http的那个)


最后启动服务器,成功访问注册页面.
2.前戏终于做完了,开始我们的注册吧
首先需要提供BCryptPasswordEncoder对象,在启动类中将其加入容器

在Service层注入

调用其encode方法进行加密

至此大功告成.去看看效果吧
填写注册信息

去看看数据库吧.

可以看到密码已经加密成功.
SpringBoot对注册用户密码进行Bcrypt密码加密的更多相关文章
- java在线聊天项目 客户端登陆窗口LoginDialog的注册用户功能 修改注册逻辑 增空用户名密码的反馈 增加showMessageDialog()提示框
LoginDialog类的代码修改如下: package com.swift.frame; import java.awt.EventQueue; import java.awt.event.Acti ...
- wordpress新注册用户或重置密码链接失效
在网上找了好多个博客,一个比一个不要脸,要更改的是两个文件,最后都抄成一个文件了. 原文链接https://www.cnblogs.com/liudecai/p/6474611.html 我是按照这个 ...
- 使用BCrypt算法加密存储登录密码用法及好处
//导入import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; /** *使用BCrypt算法加密存储登录密码 ...
- Django用户继承AbstractUser后密码为明文
Django用户继承AbstractUser后密码为明文 其实本不应该有这个问题,却花了我很久的时间,因为还是初学阶段. 造成这个原因是因为在admin注册的生活没有指定Admin 在app的admi ...
- jenkins 新增用户和修改用户名密码
在某些条件下,jenkins是不允许注册用户的,这是,你可以采用如下的方式来新增用户,对于老的用户,忘记密码了,使用如下方式来重置密码. 1.系统管理-->管理用户 ----> 新建用户 ...
- django用户认证系统——重置密码7
当用户不小心忘记了密码时,网站需要提供让用户找回账户密码的功能.在示例项目中,我们将发送一封含有重置用户密码链接的邮件到用户注册时的邮箱,用户点击收到的链接就可以重置他的密码,下面是具体做法. 发送邮 ...
- django用户认证系统——修改密码6
再此之前我们已经完成了用户登录.注册.注销等功能,接下来让我们继续为用户提供修改密码的功能.该功能 Django 的 auth 应用也已经为我们提供,过程几乎和之前的登录功能完全一样. 编写修改密码模 ...
- 使用单用户模式破解Linux密码
使用单用户模式破解Linux密码 特别说明:在实际工作应用中,安装Linux操作系统必须设置装载口令,否则很容易被破解. 1.使用reboot指令重启Linux操作系统 2.在进入操作系统数秒时,单击 ...
- oAuth 使得第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权
OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可 ...
随机推荐
- redis-大key寻找
使用redis-rdb-tools 项目地址 https://github.com/sripathikrishnan/redis-rdb-tools 生成csv命令 rdb -c memory //d ...
- 201772020113李清华《面向对象程序设计(java)》第十周学习总结
1.实验目的与要求 (1) 理解泛型概念: (2) 掌握泛型类的定义与使用: (3) 掌握泛型方法的声明与使用: (4) 掌握泛型接口的定义与实现: (5)了解泛型程序设计,理解其用途. 2.实验内容 ...
- --- Android 设置为A2DP 接收器
http://www.it1352.com/88728.html external/bluetooth/bluedroid/include/bt_target.h: * Enable bluetoot ...
- 利用PIL创建验证码
1. 随机生成rgb 元组 def random_RGB(min, max): return tuple([random.randint(min, max) for i in range(3)])2. ...
- 关于ASP.NET 服务器报错 Server Error in '/' Application Runtime Error 错误及解决方法
今天遇到一个错误 程序在服务器上运行时报错 先贴上错误代码 自己也在网上找了一些解决方法,把错误定位到服务器的配置文件也就是Web.config的问题, 于是在system.web节点下 加上cust ...
- jQuery之位置坐标图形相关方法
jQuery实例方法-位置图形 位置坐标图形大小相关方法: .offset() .position() .scrollTop() ..scrollLeft() .width()..height() . ...
- Redis安装教程及可视化工具RedisDesktopManager下载安装
Redis安装教程: 1. Windows下安装教程: 下载:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要 ...
- linux下mycat自启动方法
每次开机都要启动mycat,网上看了好多都是用shell脚本来实现mycat开机自启动,后来看到一种方法,直接修改系统文件来实现,已经实践过,方法有效. 1.修改脚本文件rc.local:vim /e ...
- 用eclipse创建动态web项目手动生成web.xml方法
建一个web项目,后来在用到web.xml文件时,才发现项目创建时没有自动创建web.xml文件. 在创建的项目上单击右键,然后单击java EE Tools下的用红线圈住的地方,然后查看你的WEB- ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-3禁止交换和禁用大页面
1.禁止交换(每台机器都要做): 执行命令:vim /etc/sysctl.conf 增加一行:vm.swappiness=0 执行命令:sudo sysctl vm.swappiness=0 2.禁 ...