Java后端实现MD5加密的方法
程序员文章站
2024-03-13 11:39:39
前言
在我们开发是要考虑这个功能,当用户忘记密码的情况下,我们需要动态的发给他一个6位的随机密码,通过即时通,短信,微信等。并同时修改数据库中的原密码为这6位的随机密码。...
前言
在我们开发是要考虑这个功能,当用户忘记密码的情况下,我们需要动态的发给他一个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能有所帮助,如果有问题可以进行留言交流,谢谢大家对的支持。