MD5-未定义字符串类型的方法

时间:2019-05-24 12:03:53

标签: java

我有一个方法,该方法将String作为参数,并以String的形式返回String的MD5值。但是,当我使用该方法时,我得到“对于String类型,未定义md5()方法”。我可能太累了,也看到我犯了一个错误,您能帮我吗?

public static String md5(String s) {
        try {
            MessageDigest m = MessageDigest.getInstance("MD5");
            m.reset();
            m.update(s.getBytes());
            byte[] digest = m.digest();
            BigInteger bigInt = new BigInteger(1, digest);
            return bigInt.toString(16);
        } catch (Exception e) {
            return null;
        }
    }

public void hashing() {
    int counter = 0;
    StringBuilder sb = new StringBuilder();
    for (int i=0; i<slovo.length(); i++) {
        if (slovo.charAt(i)=='_') {
            sb.append(characters.charAt(array[counter]));
            counter++;
        }else {
            sb.append(input.charAt(i));
        }
    }
    if (sb.toString().md5()==hash) { //this is the line which is producing the error

    }
    System.out.println(sb.toString());
}

1 个答案:

答案 0 :(得分:3)

String对象没有方法md5(),并且md5接受单个参数。 您是说md5(sb.toString())吗?