溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java web怎么實(shí)現(xiàn)找回密的功能

發(fā)布時(shí)間:2021-08-05 10:06:53 來源:億速云 閱讀:102 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要介紹“java web怎么實(shí)現(xiàn)找回密的功能”,在日常操作中,相信很多人在java web怎么實(shí)現(xiàn)找回密的功能問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”java web怎么實(shí)現(xiàn)找回密的功能”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

java web實(shí)現(xiàn) 忘記密碼(找回密碼)功能及代碼

 java web實(shí)現(xiàn) 忘記密碼(找回密碼)功能及代碼

(一).總體思路

(二).部分截圖

(三).部分代碼

(一).總體思路:

  1.在 找回密碼頁面 錄入 姓名、郵箱和驗(yàn)證碼,錄入后點(diǎn)擊【提交】按鈕,此時(shí)發(fā)送一封郵件,郵件中帶有加密后的鏈接。

  2.點(diǎn)開 郵件中鏈接,解密并判斷鏈接是否有效,驗(yàn)證通過后 到 修改密碼頁面。

  3.在修改頁面中 錄入新密碼, 點(diǎn)擊【修改按鈕】修改密碼,操作完成。

(二).部分截圖:

java web怎么實(shí)現(xiàn)找回密的功能

java web怎么實(shí)現(xiàn)找回密的功能

java web怎么實(shí)現(xiàn)找回密的功能

(三).部分代碼:

  代碼1(對應(yīng)上面總體思路1):此處關(guān)鍵是 生成加密鏈接,而且此鏈接 參數(shù)需要在瀏覽器中g(shù)et方式傳遞,不能支持“+”,"/"等特殊字符。

    
                //添加 過期時(shí)間,24小時(shí)后鏈接失效
                long endTimes = System.currentTimeMillis()+1*24*3600*1000;
                String para = personname+";"+email+";"+endTimes;                //先加密,再url轉(zhuǎn)碼,順序不能修改 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(對應(yīng)上面總體思路2):此處關(guān)鍵是  獲取參數(shù)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", "當(dāng)前鏈接已失效,請重新 后去重置密碼鏈接!");
                    }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;
    }

到此,關(guān)于“java web怎么實(shí)現(xiàn)找回密的功能”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI