Java 计算字符串的 SHA-1 摘要的十六进制表示

标签 java hash sha1

我将用户密码作为 sha1 哈希存储在数据库中。

不幸的是,我得到了奇怪的答案。

我将字符串存储为:

MessageDigest cript = MessageDigest.getInstance("SHA-1");
              cript.reset();
              cript.update(userPass.getBytes("utf8"));
              this.password = new String(cript.digest());

我想要这样的东西 -->

aff --> "0c05aa56405c447e6678b7f3127febde5c3a9238"

而不是

aff --> �V@\D~fx����:�8

最佳答案

使用apache常用编解码库:

DigestUtils.sha1Hex("aff")

结果是 0c05aa56405c447e6678b7f3127febde5c3a9238

就是这样:)

关于Java 计算字符串的 SHA-1 摘要的十六进制表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4400774/

相关文章:

java - 根据用户名在android上检索json数据

java - 如何为 Java EE 开发人员升级 Eclipse?

mysql - 在 Windows 8 中使用 .NET 模拟 MySql 的 PASSWORD() 加密

java - StandardStringDigester 与 Objective C 中的 SHA1 等效

cryptography - 使用 md5 或 sha1 仍然有效的密码散列吗?

java - 在单个应用程序中组织多个端点的最佳方式

android - 如何判断 Play Integrity 判决中的证书 SHA-256 摘要是否有效?

java - 如何在 Java 中解密 sha1 加密的字符串

python - 快速获取视频文件唯一标识的方法

java - 使用通配符验证引用文件的算法