首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java中如何使用sha256对字符串进行哈希运算?

在Java中如何使用sha256对字符串进行哈希运算?
EN

Stack Overflow用户
提问于 2011-04-04 02:09:34
回答 14查看 395.1K关注 0票数 253

在java语言中,我如何用sha256来散列一些字符串?有没有人知道这方面的免费库?

EN

回答 14

Stack Overflow用户

发布于 2013-07-14 06:02:40

我认为最简单的解决方案是使用Apache Common Codec

String sha256hex = org.apache.commons.codec.digest.DigestUtils.sha256Hex(stringText);   
票数 205
EN

Stack Overflow用户

发布于 2013-08-21 00:25:55

另一种选择是Guava,它有一套易于使用的Hashing实用程序。例如,要使用SHA256作为十六进制字符串对字符串进行散列,您只需执行以下操作:

final String hashed = Hashing.sha256()
        .hashString("your input", StandardCharsets.UTF_8)
        .toString();
票数 110
EN

Stack Overflow用户

发布于 2012-06-13 14:53:19

完整的示例将字符串作为另一个字符串进行散列。

public static String sha256(final String base) {
    try{
        final MessageDigest digest = MessageDigest.getInstance("SHA-256");
        final byte[] hash = digest.digest(base.getBytes("UTF-8"));
        final StringBuilder hexString = new StringBuilder();
        for (int i = 0; i < hash.length; i++) {
            final String hex = Integer.toHexString(0xff & hash[i]);
            if(hex.length() == 1) 
              hexString.append('0');
            hexString.append(hex);
        }
        return hexString.toString();
    } catch(Exception ex){
       throw new RuntimeException(ex);
    }
}
票数 104
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5531455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档