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

标签 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;
}

在这段代码中,我想知道是否可以简单地将 SHA-1 替换为 SHA-256。否则,我如何将 SHA-1 更改为 SHA-256?

预先感谢您的帮助。

最佳答案

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

关于java - 可以从 SHA-1 切换到 SHA-256 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48980520/

相关文章:

java - Jackson ObjectMapper - 指定对象属性的序列化顺序

java - 检查数字是否完全平方

algorithm - 确定3D多边形、形状、表面的主点(关键点)

performance - Java 的数组支持堆结构

java - 可执行 jar 的外部属性文件

java - Maven Release Plugin 不更新 dependencyManagement 中的 SNAPSHOT

algorithm - 涉及堆栈(数据结构)的挑战性问题

r - 循环和聚类

java - 如何使用 Jersey 客户端 API 在 RESTful 调用中添加 header

java - Dalvik Bridge Function 和 Dalvik Native Function 调用的区别?