php md5 16字符二进制格式 用JAVA写

新手上路,请多包涵

md5($password_hash, true)
这个php函数谁能用java写出来

阅读 3.3k
1 个回答
import java.security.MessageDigest;  
import java.security.NoSuchAlgorithmException;  
  
class CreateMD5 {  
  
    public static String getMd5(String plainText , boolean rawOutPut) {  
        try {  
            MessageDigest md = MessageDigest.getInstance("MD5");  
            md.update(plainText.getBytes());  
            byte b[] = md.digest();  
  
            int i;  
  
            StringBuffer buf = new StringBuffer("");  
            for (int offset = 0; offset < b.length; offset++) {  
                i = b[offset];  
                if (i < 0)  
                    i += 256;  
                if (i < 16)  
                    buf.append("0");  
                buf.append(Integer.toHexString(i));  
            }

            if(rawOutPut){
                return buf.toString().substring(8, 24); 
            }
            
            
            return buf.toString();  
            
        } catch (NoSuchAlgorithmException e) {  
            e.printStackTrace();  
            return null;  
        }  
  
    }  
      
    public static void main(String[] args) {      
              
        System.out.println(CreateMD5.getMd5("segmentfault",true));  
    }  
  
} 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题