java web实现 忘记密码(找回密码)功能及代码

(一).总体思路

(二).部分截图

(三).部分代码

(一).总体思路:

1.在 找回密码页面 录入 姓名、邮箱和验证码,录入后点击【提交】按钮,此时发送一封邮件,邮件中带有加密后的链接。

2.点开 邮件中链接,解密并判断链接是否有效,验证通过后 到 修改密码页面。

3.在修改页面中 录入新密码, 点击【修改按钮】修改密码,操作完成。

(二).部分截图:

(三).部分代码:

代码1(对应上面总体思路1):此处关键是 生成加密链接,而且此链接 参数需要在浏览器中get方式传递,不能支持“+”,"/"等特殊字符。

//添加 过期时间,24小时后链接失效

long endTimes = System.currentTimeMillis()+1*24*3600*1000;

String para = personname+";"+email+";"+endTimes;

//先加密,再url转码,顺序不能修改 modify by lifq 20150317

String encode = UrlUtil.getURLEncoderString(DesUtil.encrypt(para));

content = EmailUtil.replace(content, "{EMAIL_SETPWD_ADD2}", "http://localhost:8080/test/toSetPayrollPwd2.do?vc="+encode);

代码2(对应上面总体思路2):此处关键是  获取参数vc并解密。

/**

* 找回 密码 第二步

*

* @return String

* @author lifq

* @date 2015-3-17 上午10:24:09

*/

public String toSetPayrollPwd2(){

String vc = context.getParameter("vc");

if(null!=vc){

try {

//此处直接 des解码

String decode = DesUtil.decrypt(vc);

List list = EmailUtil.parseContent(decode, ";");

if(null!=list && list.size()>0){

String personname = (String)list.get(0);

String email = (String)list.get(1);

long entimes = Long.parseLong((String)list.get(2));

long curtime = System.currentTimeMillis();

if(entimes<=curtime){

context.setRequestAttribute("errorMsg", "当前链接已失效,请重新 后去重置密码链接!");

}else{

context.setRequestAttribute("personname", personname);

context.setRequestAttribute("email", email);

context.setRequestAttribute("vc", UrlUtil.getURLEncoderString(vc));

}

}

} catch (Exception e) {

e.printStackTrace();

context.setRequestAttribute("errorMsg", "链接无效!");

}

}

return RETURN_SUCCESS;

}

上述部分涉及到URL加密解密的util类 和 DES加密、解密的util类,在之前文章中有代码:

关于wordpress忘记密码 找回密码的方式

1.通过直接修改数据库中密码的加密字符(如果wordpress的版本不同,那么此方法是不好实现的) 2.使用找回密码的方式:通过邮箱找回密码 前端登录密码错误后 会显示   错误); 方法二 打开WP ...

【Linux常见问题】CentOS 6 root用户密码忘记,找回密码方法

1.Linux的root密码修改不像Windows的密码修改找回,Windows的登录密码忘记需要介入工具进行解决.CentOS6和CentOS7的密码方法也是不一样的,具体如下: 2.centos ...

【Linux常见问题】CentOS 7 root用户密码忘记,找回密码方法

1.开机按esc 2.选择CentOS Linux (3.10.0-693.......)     按 e 键: 3.光标移动到 linux 16 开头的行,找到 ro 改为 rw init=sysr ...

java web 自定义错误页面 完整jsp错误页面代码(同时写错误日志) error&period;jsp

1.首先配置web.xml  添加一下代码 500/e ...

&lpar;进阶篇&rpar;PHP&plus;Mysql&plus;jQuery找回密码

通常所说的密码找回功能不是真的能把忘记的密码找回,因为我们的密码是加密保存的,一般开发者会在验证用户信息后通过程序生成一个新密码或者生成一个特定的链接并发送邮件到用户邮箱,用户从邮箱链接到网站的重置密 ...

PHP&plus;Mysql&plus;jQuery找回密码

通常所说的密码找回功能不是真的能把忘记的密码找回,因为我们的密码是加密保存的,一般开发者会在验证用户信息后通过程序生成一个新密码或者生成一个特定的链接并发送邮件到用户邮箱,用户从邮箱链接到网站的重置密 ...

ThinkPHP 3&period;2 用户注册邮箱验证帐号找回密码

一.前言 当然现在有的网站也有手机短信的方式找回密码,原理就是通过发送验证码来验明正身,和发送邮件验证一样,最终还是要通过重置密码来完成找回密码的流程. 本文将使用PHP+Mysql+jQuery来实 ...

通过邮件找回密码功能的Java实现

1.有个需求就是,忘记密码后通过邮箱找回.现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回,可以进行密码找回.通过java发送邮件的功能我就不说了,重点讲找回密码. 2.参考别人 ...

Java实现邮箱找回密码 --转载

通过邮件找回密码功能的实现 1.最近开发一个系统,有个需求就是,忘记密码后通过邮箱找回.现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回,可以进行密码找回.通过java发送邮件的 ...

随机推荐

SCNU 2015ACM新生赛决赛【F&period; Oyk闯机关】解题报告

题目大意:一个$N$$\times$$N$的阵列,每个格子有$X_{ij}$个调和之音,若每次只能选择走右边或下边,从左上角出发走到右下角,问最多能收集到多少个调和之音?       ...

&lbrack;LeetCode&rsqb; Search Insert Position 搜索插入位置

Given a sorted array and a target value, return the index if the target is found. If not, return the ...

php url编码解码

urlencode 函数编码 urldecode 函数解码

COJ975 WZJ的数据结构(负二十五)

试题描述 输入一个字符串S,回答Q次问题,给你l,r,输出子序列[l,r]的最长连续回文串长度. 输入 第一行为一个字符串S. 第二行为一个正整数Q. 接下来Q行每行为l,r. 输出 对于每个询问,输 ...

c&num; 之五行地支

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

leetcode学习笔记--开篇

1 LeetCode是什么? LeetCode是一个在线的编程测试平台,国内也有类似的Online Judge平台.程序开发人员可以通过在线刷题,提高对于算法和数据结构的理解能力,夯实自己的编程基础. ...

oracle - 创建数据库

在服务器端的oracle,用户有点差异,当 我通过 'sqlplus / as sysdba' 命令登陆后,并不能创建数据库,sysdba拥有最高的系统权限,登陆后是 sys,以as sysdba登录 ...

WPF用样式实现TextBox的虚拟提示效果

[版权声明]本文为博主原创,未经允许禁止用作商业用途,如有转载请注明出处. 话说好多软件和网站都能实现虚拟提示,好吧这个名词是我自己起的,因为我也不知道这么形容这个效果. 效果描述:在TextBox没 ...

jQuery - ajaxUpLoad&period;js

ajaxFileUpload是一个异步上传文件的jQuery插件 语法:$.ajaxFileUpload([options]) options参数说明: 参数 作用 url 上传处理程序地址 file ...

synchronized的四种用法

一 修饰方法  Synchronized修饰一个方法很简单,就是在方法的前面加synchronized,synchronized修饰方法和修饰一个代码块类似,只是作用范围不一样,修饰代码块是大括号括起 ...

java web 找回密码_java web实现 忘记密码(找回密码)功能及代码相关推荐

  1. mysql根用户的密码是什么_Mysql忘记根用户密码 怎么办?

    mysql用户手册说的很清楚 如下: A.4.1. 如何复位根用户密码 如果你从未为MySQL设置根用户密码,服务器在以根用户身份进行连接时不需要密码.但是,建议你为每个账户设置密码.请参见5.6.1 ...

  2. java session 永不过期_Java Web Application使Session永不失效(利用cookie隐藏登录)

    在做 Web Application 时,因为 Web Project 有 session 自动失效的问题,所以如何让用户登录一次系统就能长时间运行三个月,就是个问题. 后来,看到 session 失 ...

  3. java web项目测试_java web项目怎么测试?

    慕仰1329654 java web项目测试用Web的测试工具,如HtmlUnit,JWebUnit等.main()方法就可以测试,在main方法中获得connection对象将他输出就可以了.如果正 ...

  4. java web 许令波_Java Web——Web概述

    已经很久没有更新博客了,过年忙着吃喝玩乐,就怠惰了一小下下?幸好这学期新开的课程都比较有趣--Java Web和Android.至少对于我自己来说,既充满挑战,又富有趣味. --[1.Web概述]-- ...

  5. java web 用户管理_Java Web(九) 用户管理系统

    前面学习了一大堆,什么JSP,Servlet.jstl.el等等等,大多是一些死的东西,只要会其语法,知道怎么用就行了,所以做了一个小小的只有增删改查的小demo,为的就是熟悉这些知识.灵活运用起来. ...

  6. java web 监听器 例子_Java web技术应用---监听器

    监听器的定义 (专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生变化时,立即采取相应的行动) 定义:Servlet规范中定义的一种特殊的类,用于监听Servlet ...

  7. java绕过加密密码_JAVA中使用MD5加密实现密码加密

    1.新建Md5.java package com.loger.md5; import java.io.UnsupportedEncodingException; import java.securit ...

  8. java用户登录记住密码_java项目中登陆时记住密码

    1.在登陆的时候记住密码,不知自动登陆: 2.登陆页面,填写用户名,密码,点击记住密码,下次进入登陆页面的时候,填写同样的用户名,密码自动填充(在不一次会话的情况下也就是说在不关闭浏览器的情况下): ...

  9. 宝塔mysql管理员初始密码_宝塔面板忘记管理员用户名密码简单有效解决方法

    有些学做网站学员使用服务器建网站,并且安装了宝塔面板,建设好之后需要登录后台,但是有时会忘记账号和密码,应该怎么办?或者是在使用的过程中忘记了登陆密码,应该怎么解决呢?下面介绍一下宝塔面板管理员密码忘 ...

最新文章

  1. 使用 fastlane 实现 iOS 持续集成(二)
  2. python语言基础与应用章节七_专技天下Python语言基础与应用章节测试答案
  3. 浅谈 URI 及其转义
  4. 更新条目时出错。有关详细信息,请参见内部异常。
  5. 全国二级 mysql有用_2020年全国计算机二级MySQL复习知识点:调整服务器
  6. Java编程:按照指定的字段顺序,将 Bean 转换为 Json
  7. mysql备份恢复_mysql常用的备份和恢复方法
  8. mongodb的管理员和安全认证
  9. 用C语言数组编写贪吃蛇
  10. vue-element:实现微信表情
  11. JVM中如何排查CPU飙高的问题
  12. ARM平台处理器简介-ARMv7
  13. PMP 备考知识点集锦
  14. 提高带宽利用率!为什么要Pacing?
  15. 第7章 嵌入式uClinux及其应用开发(1)
  16. 学校校园学生寝室管理查寝打分系统 毕业设计毕设源码毕业论文开题报告参考(1)功能概要
  17. 齐鲁工业大学计算机考研资料汇总
  18. Debian 10安装Xrdp远程桌面
  19. HTML+CSS简单复习
  20. CocosCreator 在游戏中播放音乐音效 (第十六篇)

热门文章

  1. 树(2021.7.11晚)
  2. h5php大转盘抽奖,html5的非常简单圆形转盘抽奖代码
  3. 抖音火了,但MCN却在毁掉整个行业
  4. 锐目对讲机的使用方法详解
  5. 过滤器:活性碳过滤器技术参数全面解读
  6. postman批量调用接口操作步骤
  7. 0703齐次方程-微分方程
  8. 吃货联盟订餐系统项目
  9. Android DoraemonKit 教程和简介
  10. Intel核显--OpenCL环境--Linux