Java 使用md5和控制字段对密码进行哈希运算
我想用MD5散列一个密码,我已经给出了一个名为MD5ControlHash的字符串 我发现我可以这样散列密码:Java 使用md5和控制字段对密码进行哈希运算,java,android,md5,Java,Android,Md5,我想用MD5散列一个密码,我已经给出了一个名为MD5ControlHash的字符串 我发现我可以这样散列密码: public static void main(String[] args)throws Exception { String password = "123456"; MessageDigest md = MessageDigest.getInstance("MD5"); md.update(password.getByte
public static void main(String[] args)throws Exception
{
String password = "123456";
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(password.getBytes());
byte byteData[] = md.digest();
//convert the byte to hex format method 1
StringBuffer sb = new StringBuffer();
for (int i = 0; i < byteData.length; i++) {
sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
}
System.out.println("Digest(in hex format):: " + sb.toString());
}
publicstaticvoidmain(字符串[]args)引发异常
{
字符串密码=“123456”;
MessageDigest md=MessageDigest.getInstance(“MD5”);
md.update(password.getBytes());
byte byteData[]=md.digest();
//将字节转换为十六进制格式方法1
StringBuffer sb=新的StringBuffer();
for(int i=0;i
但是我不知道我应该在哪里使用MD5CantolHash。有人能帮我吗?
这个代码正确吗
谢谢如果MD5ControlHash是一个字符串,其中应该存储密码的哈希,您需要替换这行代码:
System.out.println("Digest(in hex format):: " + sb.toString());
与
如果这个名为MD5ControlHash的字符串存储要散列的源数据,只需使用MD5ControlHash而不是密码
如果您怀疑代码的正确性,请尝试一下 我当然希望你没有在任何“严肃”的代码中使用MD5作为密码哈希…不。文档中说MD5ControlHash是散列密码所需的字段。(MD5ControlHash是从服务器发送的)那个么,您是否应该将生成的哈希写入MD5ControlHash?从另一个字段获取密码?
MD5ControlHash = sb.toString();