欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java后端實現(xiàn)MD5加密的方法

 更新時間:2016年08月29日 11:29:40   投稿:daisy  
有的時候因為業(yè)務(wù)的需要,我們要制作關(guān)于密碼的修改功能。而關(guān)于密碼的加密一般都是用MD5,那么這篇文章將介紹如何在Java的后端實現(xiàn)MD5加密,有需要的可以參考借鑒。

前言

在我們開發(fā)是要考慮這個功能,當(dāng)用戶忘記密碼的情況下,我們需要動態(tài)的發(fā)給他一個6位的隨機密碼,通過即時通,短信,微信等。并同時修改數(shù)據(jù)庫中的原密碼為這6位的隨機密碼。讓用戶再去修改密碼。

同時在數(shù)據(jù)庫中的密碼必須存為密文,于是需要使用到MD5加密。生成的6位隨機密碼需要保密,不能在前臺處理,只能放在后端。于是我選擇放在了控制層中

示例代碼

//傳入任何需要加密的文本進行加密
public static String getMd5(String string) {
  try {
 MessageDigest md = MessageDigest.getInstance("MD5");
 md.update(string.getBytes);
 byte hash = md.digest;
 StringBuffer sb = new StringBuffer;
 int i = 0;
 for (int offset = 0; offset < hash.length; offset++) {
 i = hash[offset];
 if (i < 0) {
 i += 256;
 }
 if (i < 16) {
 sb.append("0");
 }
 sb.append(Integer.toHexString(i));
 }

 return sb.toString;
  }
  catch (NoSuchAlgorithmException e) {
 throw new RuntimeException(e);
  }
 }

此處使用的是32位的加密,16位與32位的區(qū)別是16位取的是32位中間的16位。

String PASSWORD_ = String.valueOf((int) (Math.random * 1000000));

 if (empService.updateEmpPassword(EMP_ID_, BaseUtils.getMd5(PASSWORD_), operator) == 0) {
 throw new RuntimeException("隨機密碼生成失敗!");
 }
 String xele = "<SendMessage><AM_Name>" + EMP_CODE_ + "</AM_Name><PhoneNum></PhoneNum><UserId></UserId><MessageTxt>您的公文管理系統(tǒng)新密碼是:" + PASSWORD_ + "</MessageTxt><SystemName>公文管理系統(tǒng)</SystemName><Type>即時通</Type><Access></Access><Email></Email><IsBack></IsBack><IsEncrypt></IsEncrypt><ISPriority></ISPriority><Ohter1></Ohter1><Ohter2></Ohter2></SendMessage><br />";

然后調(diào)用即時通預(yù)留接口

instanceMsgService.AMToMessIFCheck(xele, null, operator);

注意:主要看java后端怎么去做MD5的加密?。?/p>

結(jié)束語

以上就是關(guān)于在Java后端實現(xiàn)MD5加密方法的全部內(nèi)容,希望這篇文章對大家學(xué)習(xí)Java能有所幫助,如果有問題可以進行留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • SpringBoot快速實現(xiàn)接口消息加密的過程詳解

    SpringBoot快速實現(xiàn)接口消息加密的過程詳解

    在項目中,為了保證數(shù)據(jù)的安全,我們常常會對傳遞的數(shù)據(jù)進行加密,常用的加密算法包括對稱加密(AES)和非對稱加密(RSA),博主選取碼云上最簡單的API加密項目進行下面的講解,需要的朋友可以參考下
    2023-11-11
  • System.currentTimeMillis()計算方式與時間的單位轉(zhuǎn)換詳解

    System.currentTimeMillis()計算方式與時間的單位轉(zhuǎn)換詳解

    這篇文章主要介紹了System.currentTimeMillis()計算方式與時間的單位轉(zhuǎn)換詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Java中IO流簡介_動力節(jié)點Java學(xué)院整理

    Java中IO流簡介_動力節(jié)點Java學(xué)院整理

    Java io系統(tǒng)的設(shè)計初衷,就是為了實現(xiàn)“文件、控制臺、網(wǎng)絡(luò)設(shè)備”這些io設(shè)置的通信。接下來通過本文給大家介紹Java中IO流簡介,感興趣的朋友一起看看吧
    2017-05-05
  • 微服務(wù)Springcloud之Feign的基本使用

    微服務(wù)Springcloud之Feign的基本使用

    這篇文章主要介紹了微服務(wù)Springcloud之Feign的基本使用,Spring?Cloud集成Feign并對其進行了增強,使Feign支持了Spring?MVC注解,需要的朋友可以參考下
    2023-03-03
  • Java中HashMap和Hashtable的區(qū)別小結(jié)

    Java中HashMap和Hashtable的區(qū)別小結(jié)

    本文主要介紹了Java中HashMap和Hashtable的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Java接口默認方法帶來的問題分析【二義性問題】

    Java接口默認方法帶來的問題分析【二義性問題】

    這篇文章主要介紹了Java接口默認方法帶來的問題,結(jié)合實例形式分析了java接口帶來的二義性問題,需要的朋友可以參考下
    2019-08-08
  • Java實現(xiàn)時間片輪轉(zhuǎn)調(diào)度算法的示例代碼

    Java實現(xiàn)時間片輪轉(zhuǎn)調(diào)度算法的示例代碼

    時間片輪轉(zhuǎn)調(diào)度是一種最古老,最簡單,最公平且使用最廣的算法,這篇文章主要為大家介紹了如何利用Java實現(xiàn)這一算法,需要的可以參考一下
    2023-07-07
  • Java?Stream如何將List分組成Map或LinkedHashMap

    Java?Stream如何將List分組成Map或LinkedHashMap

    這篇文章主要給大家介紹了關(guān)于Java?Stream如何將List分組成Map或LinkedHashMap的相關(guān)資料,stream流是Java8的新特性,極大簡化了集合的處理操作,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-12-12
  • springboot實現(xiàn)郵箱發(fā)送(激活碼)功能的示例代碼

    springboot實現(xiàn)郵箱發(fā)送(激活碼)功能的示例代碼

    這篇文章主要為大家詳細介紹了如何利用springboot實現(xiàn)郵箱發(fā)送(激活碼)功能,文中的示例代碼簡潔易懂,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • 利用java獲取某個文件夾下的所有文件

    利用java獲取某個文件夾下的所有文件

    這篇文章主要給大家介紹了關(guān)于如何利用java獲取某個文件夾下的所有文件的相關(guān)資料,在從事web開發(fā)工作中,經(jīng)常需要對本地某一個目錄下的文件進行處理,需要的朋友可以參考下
    2023-07-07

最新評論