如何在java上创建密码哈希md5

时间:2016-09-23 15:36:40

标签: java hash passwords

通常我在PHP中使用salt = "0x".md5($login.%$pass);,它会给出简单的结果hash md5。我怎么能在java上写这个方法?

我见过像bellow这样的代码:

String salt_encode(String salt, MessageDigest alg){
    alg.reset(); 
    alg.update(salt.getBytes());
    byte[] digest = alg.digest();
    StringBuffer hashedpasswd = new StringBuffer();
    String hx;
        for(int i=0; i<digest.length; i++){
            hx =  Integer.toHexString(0xFF & digest[i]);
            //0x03 is equal to 0x3, but we need 0x03 for our md5sum
            if(hx.length() == 1)
            {
                hx = "0" + hx;
            } 
            hashedpasswd.append(hx);
        }
    salt = "0x" + hashedpasswd.toString();
    return salt;
}

但它在数据库上给出了类似奇怪字符的结果:šÆ³­P[NdN¿

我希望结果类似于:0xeGG27uEtmKBTHzUk

我需要从该功能改变什么?

谢谢

0 个答案:

没有答案