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 ... 
随机推荐
- Socket
			Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 以J2SDK-1.3为例,Socket和ServerSocket类库位于 ... 
- ASP.NET CORE dotnet run 命令使用debug方式运行
			由于我的开发环境比较复杂,每次调试一套项目都要启动好几个VS,比较繁琐,今天决定换一种方式调试,对于不该改动的代码的附加项目直接使用dotnet run命令以debug的运行方式运行, 一开始无法运行 ... 
- iOS 2D绘图 (Quartz2D)之阴影和渐变(shadow,Gradient)
			原博地址:http://blog.csdn.net/hello_hwc/article/details/49507881 Shadow Shadow(阴影) 的目的是为了使UI更有立体感,如图 sha ... 
- Java基础知识总结
			写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技 ... 
- Leetcode:378. Kth Smallest Element in a Sorted Matrix
			题目: Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the ... 
- ReactNative新手学习之路06滚动更新ListView数据的小示例
			本节带领大家学习使用ListView 做一个常用的滚动更新数据示例: 知识点: initialListSize={200} 第一次加载多少数据行 onEndReached={this.onEndRea ... 
- sublime编辑器插件
			sublime---插件 http://www.cnblogs.com/dudumao/p/4054086.html sublime--- Emmet插件 使用方法 http://docs.emme ... 
- Android Gradle 完整指南(转)
			本文转载来自:http://www.jianshu.com/p/9df3c3b6067a 为什么需要学Gradle? Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之前 ... 
- [转]Ext ComboBox 默认选中某一项
			原文地址:http://blog.csdn.net/liuguxing/article/details/8623190 项目中经常用到选择框,需要从后台异步加载数据,可单独写一个组件进行加载 App. ... 
- jquery 使用方法
			jQuery是目前使用最广泛的javascript函数库.据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库.微软公司甚至把jQuery作为他们的官方库.对于网页开发者来 ... 
