可以从SHA-1切换到SHA-256吗?

时间:2018-02-26 02:10:02

标签: java algorithm

我目前正在使用SHA-1。我正在使用它,如下面的代码,但我想将其更改为SHA-256。



public String sha1Encrypt(String str) {
  if(str == null || str.length() == 0) {
    return "";
  }

  String resultstr = "";

  try {

    java.security.MessageDigest sha1 = java.security.MessageDigest.getInstance("SHA1");
    byte[] digest = sha1.digest(str.getBytes());

    StringBuffer sb = new StringBuffer();
    for(int i=0; i<digest.length; i++) {
      sb.append(Integer.toString((digest[i] & 0xff) + 0x100, 16).substring(1));
    }

    resultstr = sb.toString();
  } catch(Exception e) {
    //error code			
  }

  return resultstr;
}
&#13;
&#13;
&#13;

在这段代码中,我想知道它是否仅适用于用SHA-256替换SHA-1。否则,如何将SHA-1更改为SHA-256?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

是的,将代码更改为MessageDigest.getInstance("SHA-256");应该没问题。