java后端制作MD5加密
由于一次业务的需要,我制作了一次密码的修改子业务。
当用户忘记密码的情况下,我需要动态的发给他一个6位的随机密码,通过即时通,短信,微信等。并同时修改数据库中的原密码为这6位的随机密码。让用户再去修改密码。
同时在数据库中的密码必须存为密文,于是需要使用到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位的区别是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>您的公文管理系统新密码是:" + PASSWORD_ + "</MessageTxt><SystemName>公文管理系统</SystemName><Type>即时通</Type><Access></Access><Email></Email><IsBack></IsBack><IsEncrypt></IsEncrypt><ISPriority></ISPriority><Ohter1></Ohter1><Ohter2></Ohter2></SendMessage><br />";
然后调用即时通预留接口
instanceMsgService.AMToMessIFCheck(xele, null, operator);
主要看java后端怎么去做MD5的加密!!
欢迎大家阅览,多多评论其中的不足!!
为工程师之路添砖加瓦!!
java后端制作MD5加密的更多相关文章
- Java 语言实现 MD5 加密
Java 语言实现 MD5 加密 背景说明 在实际项目中,为了安全性考虑,经常要求账号密码是以加密后的密文形式,保存到数据库中. 这样,即使有人获取到了数据库中的密文密码,也不知道明文密码信息是什么, ...
- Java 自带MD5加密 Demo
package demo; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; pub ...
- Java中使用MD5加密的简单实现
import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorith ...
- java 短连接+MD5加密短链接
java 短连接+MD5加密短链接 import java.security.MessageDigest; public class ShotUrlUtil { public static void ...
- 通过java语言实现MD5加密
通过java语言实现MD5加密public static String getMd5(String str) { try { MessageDigest md5 = MessageDigest.get ...
- JavaScript前端和Java后端的AES加密和解密
在实际开发项目中,有些数据在前后端的传输过程中需要进行加密,那就需要保证前端和后端的加解密需要统一.这里给大家简单演示AES在JavaScript前端和Java后端是如何实现加密和解密的. 直接上代码 ...
- JavaScript前端和Java后端的AES加密和解密(转)
在实际开发项目中,有些数据在前后端的传输过程中需要进行加密,那就需要保证前端和后端的加解密需要统一.这里给大家简单演示AES在JavaScript前端和Java后端是如何实现加密和解密的. java端 ...
- java中使用MD5加密技术
在项目中经常会对一些信息进行加密,现在常用的信息加密技术有:MD5.RSA.DES等,今天主要说一下,md5加密,以及如何在java代码根据自己的业务需求使用md5. MD5简介: MD5即Messa ...
- java 32位MD5加密的大写字符串
package com.aok.test; import java.security.MessageDigest; public class MD5Test { public static void ...
随机推荐
- java1.8函数式编程概念
有关函数式编程 ·1 函数作为一等公民 特点:将函数作为参数传递给另外一个函数:函数可以作为另外一个函数的返回值 ·2 无副作用 函数的副作用指的是函数在调用过程中,除了给出了返回值外,还修改了函数外 ...
- 第12章 Java字符串
1.什么是Java中的字符串 字符串String并不是一种数据类型,而是一个类对象,在java.lang包中,只不过在默认情况下java都是自动导入的,所以可以直接使用创建一个String对象的方法有 ...
- DbContext 和ObjectContext两者的区别
http://blog.csdn.net/lvjin110/article/details/24642911 ObjectContext是一种模型优先的开发模式,DbContext是代码优先的开发模式 ...
- Oracle trunc()函数的用法
Oracle trunc()函数的用法 /**************日期********************/1.select trunc(sysdate) from dual --2013-0 ...
- 【转】【MySql】脚本备份数据库
#!/bin/bash #this is a script of mysql backup if [ ! -d /mydata/data1/backup ] ;then mkdir /mydata/d ...
- ToolProvider.getSystemJavaCompiler() Return NULL!
http://www.cnblogs.com/fangwenyu/archive/2011/10/12/2209051.html
- 【六年开源路】FineUI家族今日全部更新!
FineUI(开源版) 基于 ExtJS 的开源 ASP.NET 控件库 FineUI的使命 创建 No JavaScript,No CSS,No UpdatePanel,No ViewState ...
- AD_TLC549采集模拟信号
AD_TLC549采集模拟信号 实验原理 芯片介绍 TLC549是 TI公司生产的一种低价位.高性能的8位A/D转换器,它以8位开关电容逐次逼近的方法实现 A/D转换,其转换速度小于 17us,最大转 ...
- android 自定义Style初探---ProgressBar
系统自带的ProgressBar太丑了,所以我决定自定义一个Style. 原来的Style <?xml version="1.0" encoding="utf-8& ...
- ical4j 实现ICS文件的生成和解析
iCalendar 简介 iCalendar,简称"iCal",是"日历数据交换"的标准(RFC 2445),该标准提供了一种公共的数据格式用于存储关于日历方面 ...