zoukankan      html  css  js  c++  java
  • 关于不同平台md5码不一致问题

    public static String md5(String src){
    try {
    MessageDigest md=
    MessageDigest.getInstance("MD5");
    byte[] output=md.digest(src.getBytes());
    //return new String(output);
    String ret =
    Base64.encodeBase64String(output);
    return ret;
    } catch (Exception e) {
    throw new Md5Exception("加密失败", e);
    }
    }

    public static String createId(){
    String id=UUID.randomUUID().toString();
    //return id;
    return id.replace("-","");
    }

    通过代码发现一个问题

    byte[] output=md.digest(src.getBytes());

    在不同的环境下获得的结果可能是不一样的,这样也造成很多MD5结果不一样。

    所以要保证在不同环境下MD5结果相同那么必须使用相同的字符编码,比如:getBytes("utf-8");

  • 相关阅读:
    第1章 引论
    Java反射
    用户职责菜单请求组
    API及接口清单
    独立值集导入脚本
    报表对应程序包查询
    正则表达式
    合并工作表
    去重
    分割表
  • 原文地址:https://www.cnblogs.com/zhangdashen/p/6518926.html
Copyright © 2011-2022 走看看