重置功能怎么实现java_java实现忘记密码功能

本文介绍了如何在Java项目中实现忘记密码功能,包括用户输入用户名和邮箱后发送带有加密链接的邮件,以及后台如何解密链接参数进行密码重置。文章详细讲解了使用AES加密算法和Base64编码进行加解密的过程,并提供了相关工具类代码示例。
摘要由CSDN通过智能技术生成

最近项目中需要用到忘记密码的功能,因此,写了这篇博客进行记录。

首先需要用户点击忘记密码,输入用户名和邮箱,两者可以匹配,则向邮箱中发送条链接。eg:

点击此链接进行密码修改,有效期一个小时www.abc.com?ha=2HwBjxyI4WDRBUwewvo8xioRXszig1tf1Vx4dSMa5wI

点击此链接进行重置密码,后台接受到ha参数的值,并对其进行解析,通过则可以进行密码修改。

下边主要解释如何加密这个ha参数,这里使用到了Base64进行加密和解密。

这里利用了一个jar包:commons-codec-1.8.jar(可以从官网或者maven下载)

commons-codec

commons-codec

1.8

加密和解密工具类如下:

package com.ocean.utils;

import org.apache.commons.codec.binary.Base64;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import javax.crypto.Cipher;

import javax.crypto.KeyGenerator;

import javax.crypto.SecretKey;

import java.security.SecureRandom;

public class UrlUtils {

private static final String KEY = "myoMwO6qPt&3AD";

private s

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值