在Java中有一种简单的散列方法吗?
我有一些字符串要用SHA-256方法散列。我在网上查了一下,令我大吃一惊的是,我找不到一个简单的方法。 我知道在Java中有一种简单的散列方法吗?,java,hash,Java,Hash,我有一些字符串要用SHA-256方法散列。我在网上查了一下,令我大吃一惊的是,我找不到一个简单的方法。 我知道MessageDigest类似乎提供了我所需要的一切,除了一件事:像这样的方法:stringhash256(stringtxt) 我也知道有很多方法可以做到这一点(例如:),但我不愿意为可能已经存在的东西写多行。你们知道这样的事情是否存在吗 编辑:看起来我不够清楚。JDK中是否存在与以下代码等效的现有方法 public String hash256(String txt){ Me
MessageDigest
类似乎提供了我所需要的一切,除了一件事:像这样的方法:stringhash256(stringtxt)
我也知道有很多方法可以做到这一点(例如:),但我不愿意为可能已经存在的东西写多行。你们知道这样的事情是否存在吗
编辑:看起来我不够清楚。JDK中是否存在与以下代码等效的现有方法
public String hash256(String txt){
MessageDigest sha = MessageDigest.getInstance("SHA-256");
sha.update(txt.getBytes());
byte[] digest = sha.digest();
return bytesToString(digest);
}
然后将字节转换为字符串。确保指定了字符串编码
然后将字节转换为字符串。确保指定了字符串编码 您可以从Apache Commons库中使用。您可以从Apache Commons库中使用。顺便说一句,dup并不难找到:google“java SHA256”,它是最热门的。不知道你所说的“我搜索过网络”是什么意思:/@Bohemian正如我所说的,我想知道是否有一个jdk方法可以将一个字符串散列成一个字符串。你提供的例子给了我字节(我知道如何处理它们,但我不想重新编码已经存在的东西)。顺便说一句,dup并不难找到:谷歌“JavaSHA256”,它是最热门的。不知道你所说的“我搜索过网络”是什么意思:/@Bohemian正如我所说的,我想知道是否有一个jdk方法可以将一个字符串散列成一个字符串。您提供的示例为我提供了字节(我知道如何处理它们,但我不想重新编码已经存在的东西)。我的问题是:是否有一个现有的方法可以完成所有这些(而不仅仅是对字节进行散列)?我回答的重点是向您展示,使用现有的API做您想要的事情是多么简单。并不是每个问题都有一个单一的解决方案。我的问题是:是否有一个现有的方法可以完成所有这些(而不仅仅是散列到字节)?我回答的要点是向您展示,使用现有的API做您想要做的事情是多么简单。不是每个问题都有一个单一的解决方案。没有JDK等价物吗?您可以在Dodd10x的答案中看到JDK等价物。你也可以编写一个FXMUtils类来编写你想要的方法。这并不是我想要的,但我想这是我能得到的最好的了,谢谢。没有JDK等价物吗?你可以在Dodd10x的答案中看到JDK等价物。你也可以用一个FXMUtils类来编写你想要的方法。这不是我想要的,但我想这是我能得到的最好的了,谢谢。
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(stringAsbytes);
stringAsBytes = md.digest();