抖音实战~MD5加密+盐值工具类

package com.gblfy.utils;import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.util.DigestUtils;import java.util.UUID;/*** MD5加密+盐值工具类** @author gblfy* @Date 2022-06-22**/
@Slf4j
@Component
public class MD5Utils {/*** 执行密码加密** @param password 原始密码* @param salt     盐值* @return 加密后的密文*/public static String getMd5Password(String password, String salt) {/** 加密规则:* 1、无视原始密码的强度* 2、使用UUID作为盐值,在原始密码的左右两侧拼接* 3、循环加密3次*/for (int i = 0; i < 3; i++) {password = DigestUtils.md5DigestAsHex((salt + password + salt).getBytes()).toUpperCase();}return password;}/*** 密码核对** @param dbSalt        数据库盐值* @param password      前端传参密码* @param dbMd5Password 数据库加密后的密码* @return true-密码相等 false-密码不相等*/public static Boolean comparePasswordsForEquality(String dbSalt, String dbMd5Password, String password) {String md5Password = MD5Utils.getMd5Password(password, dbSalt);log.info("前端页面传参密码-md5加密+盐值后的密码->{}", md5Password);if (dbMd5Password.equals(md5Password)) {return true;}return false;}public static void main(String[] args) {//-------------------------------------------md5+盐值生成密码-------------------------------------------//1.生成md5+盐值密码String salt = UUID.randomUUID().toString().toUpperCase();//原始密码String password = "123456";//数据库加密后的密码String dbMd5Password = MD5Utils.getMd5Password(password, salt);log.info("md5加密+盐值后的密码->{}", dbMd5Password);//-------------------------------------------成md5+盐值密码比对-------------------------------------------//前端传参密码String frontPagePasswordParam = "123456";//数据库盐值String dbSalt = salt;if (MD5Utils.comparePasswordsForEquality(dbSalt, dbMd5Password, frontPagePasswordParam)) {System.out.println("密码相同");} else {System.out.println("密码不相同");}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从程序员到上市公司合伙人,怎么少踩坑?

‍‍‍‍科技发展日新月异&#xff0c;对于程序员来说&#xff0c;不断地自我修炼必须提上日程。某种程度上&#xff0c;阅读是一条通往成功的捷径。当你被技术难题卡住时&#xff0c;去读书吧&#xff0c;去书里寻找答案当你感到人生困顿迷茫时&#xff0c;去读书吧&#xff0…

读完《云原生架构白皮书》,我们来谈谈开放应用模型(OAM)

简介&#xff1a; 受阿里云邀请&#xff0c;我有幸在《云原生架构白皮书》发布前试读了该书&#xff0c;本文结合白皮书内容&#xff0c;谈谈开放应用模型&#xff08;OAM&#xff09; 前言 7月21日阿里云发布了《云原生架构白皮书》&#xff0c;该书由阿里云众多技术专家共同…

抖音实战~手机号密码一键注册登录流程(限制手机终端登录)

文章目录一、手机号密码二、前端2.1. 点击登陆流程2.2. 点击登录源码三、后端登录3.1. 登录流程图3.2. 流程简述3.3. 手机号验证码登录流程一、手机号密码 二、前端 2.1. 点击登陆流程 1.先校验手机号是否合法&#xff1f;不合法&#xff0c;则提示“请输入正确的手机号”2.再…

揭秘!信息检索技术高端玩法

《SIGIR 顶会论文解读》重磅发布 由 7 位阿里巴巴技术专家精心打造&#xff0c;内容覆盖推荐系统 、成交转化模型 、 回音室效应 、 全空间多任务转化率预估建模 、 DeepMatch 召回模型 、 跨领域冷启动用户推荐网络 、 表示学习模型等信息检索领域新技术。 精彩内容抢先看 1、…

VSCODE远程连接服务器,远程开发。

在开发中有时需要远程开发&#xff0c;需要远程连接服务器&#xff0c;所以需要学习一下如何远程连接。 1、安装vscode的插件&#xff1a;Remote-ssh 需要看清楚&#xff0c;是这个插件不要安装错了 2、安装好后打开命令行&#xff0c;快捷键 CtrlShiftp&#xff0c;输入ssh查…

【技术史】数据中台的前世今生

数据中台自14年至今&#xff0c;已然成为了2B、2G业务最热门的话题&#xff0c;政府机构、企事业单位、互联网公司等进行着数字化、数据化、智能化转型。市场普遍认为&#xff0c;阿里巴巴将自身数据中台建设能力对外赋能是拉起本轮数据中台浪潮的根本所在。 本文将带你全面了…

抖音实战~密码找回

文章目录1. 密码找回流程图2. 前端源码3. 后端1. 密码找回流程图 2. 前端源码 /*** 密码找回*/updatePassword() {var me this;var mobile me.mobile;// 提交前&#xff0c;手机号校验var reg /^1[0-9]{10,10}$/;if (!mobile || !reg.test(mobile)) {uni.showToast({title: …

排队五小时才能吃上一口的Popeyes,要借阿里云数据中台10年内开足1500家门店

几个月前&#xff0c;还没多少国人了解美国炸鸡品牌Popeyes&#xff0c;但现在&#xff0c;Popeyes却成为上海滩最火爆的网红店&#xff1a;5月在上海市淮海中路开出首家门店当天&#xff0c;早上7点半&#xff0c;第一条队伍就已排出了半条街。 面对良好的开局&#xff0c;Po…

关于Background-size的几个参数区别

background-size&#xff0c;大致有几种参数&#xff1a;cover、contain、100% cover会横向自适应&#xff0c;但是高度会被裁剪。 contain:会保持图片的比例&#xff0c;但是如果图片的比例与实际div的比例不对&#xff0c;会有缺失。 100%&#xff1a;会铺满屏幕但是图片会…

干货!Redis集群工作原理解析

作者 | 张小盼头图 | 下载于东方IC出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;Redis 缓存因其访问性能高、可靠性更高&#xff0c;作为缓存工具在各大互联网公司中广泛使用。今天我们就来看看Redis Cluster 的实现原理。集群建立Redis集群是由多个Redis…

让小程序在自有App中启动的技术来了:mPaaS小程序架构深度解析

本文将围绕支付宝在移动端架构的演进逐步展开&#xff0c;分享我们在“App 动态性”“提升研发效率”等方面所做的思考和具体实践。同时&#xff0c;针对 mPaaS 小程序能力的开放&#xff0c;也将展开介绍我们如何实现“小程序代码只写一次&#xff0c;多端投放”&#xff0c;而…

抖音实战~分布式文件存储~SpringBoot集成MinIO

文章目录1. 引入依赖2. yml配置3. 客户端配置4. 工具类5. 需求实战6. 效果图1. 引入依赖 <!-- MinIO --><dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.2.1</version></dependency>…

axios如何设置baseUrl

1、在请求api时&#xff0c;有时要去访问其他服务端的数据&#xff0c;之前我在本地启动项目的时候用devServe来进行代理&#xff0c;但是当自己打包好后&#xff0c;如果没有服务端的配置&#xff0c;只是在本地打开index.html页面会api请求会带上本地路径。 如果你已经安装好…

笑联 x mPaaS | 12 个模块,全面小程序化,如何打造真正的一次开发复用多端?

这篇故事围绕着一款 App 基于 mPaaS 小程序进行改造娓娓展开。 作为国内校园服务场景最丰富的平台&#xff0c;笑联 App 已覆盖国内 130 所高校&#xff0c;服务近百万高校学生。 截止目前&#xff0c;笑联 App 内的 12 个业务模块目前已顺利实现小程序化。不仅获得媲美原生应用…

万字长文梳理:从0开始,步入Service Mesh微服务架构的世界

来源 | 无敌码农责编 |贾凯强头图 | 下载于视觉中国新一代微服务架构——Service Mesh已经引发了诸多关注。在微服务架构盛行的今天&#xff0c;像Spring Cloud这样的微服务框架大家已然耳熟能详 &#xff0c;因为大部分互联网公司都在此基础上构建过第一代微服务体系&#xff…

开放下载!《大促背后的前端核心业务实践》

《大促背后的前端核心业务实践》电子书重磅发布! 2020年618大促已经过去&#xff0c;作为淘系每年重要的大促活动&#xff0c;淘系前端在其中扮演着什么样的角色&#xff0c;如何保证大促的平稳进行&#xff1f;又在其中应用了哪些新技术&#xff1f;淘系技术联合阿里云开发者…

企业级~uni-app网络请求封装

目录结构(根目录开始) ├── api # 所有请求 │ └── user.js # 用户请求api ├── store # 全局store管理 │ └── modules # api模块 │ │ └── user.js # 用户请求模块…

npm如何设置淘宝镜像

设置淘宝镜像 npm config set registry https://registry.npm.taobao.org 设置回原来的 npm config set registry https://registry.npmjs.org/

33个常见问题!超全Windows排查手册

无论你是新手还是老手&#xff0c;你的Windows系统都会遇到不容易诊断的问题。而当发生这种情况时&#xff0c;你会怎么做&#xff1f;希望本书可以在系统出现问题但是又不知道到底发生了什么以及问题出现在哪里时&#xff0c;为大家提供解决思路和方法&#xff0c;高效的解决问…

上市之后,青云存储平台QingStor也要“进军”云原生

作者 | 陈利鑫头图 | 下载于东方IC出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;3 月 16 日&#xff0c;北京青云科技股份有限公司&#xff08;以下简称“青云科技”&#xff09;登录科创板&#xff0c;昔日里频频出现在公众视野的云计算企业&#xff0c;…