zoukankan      html  css  js  c++  java
  • 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的加密!!

    欢迎大家阅览,多多评论其中的不足!!

    为工程师之路添砖加瓦!!

  • 相关阅读:
    JVM内存结构解析
    tomcat服务器日志分页
    20多个常用的免费WebService接口
    将tomcat设置在服务中为开机自动启动
    oracle11g安装常见错误
    Resultset 转化成list或map
    SprngMVC工作原理
    Spring中ContextLoaderListener作用
    oracle如何导出和导入数据库/表
    轻松搭建Redis缓存高可用集群
  • 原文地址:https://www.cnblogs.com/shinelover/p/5815028.html
Copyright © 2011-2022 走看看