问题标签 [message-digest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6827 浏览

java - 是否可以将哈希码限制为 Java 中特定数量的字符

我已经编写了一种使用 MD5 算法将纯文本转换为哈希码的方法。请在下面找到我使用的代码。

此方法完美运行,但它返回一个冗长的哈希。我需要将此哈希文本限制为 8 个字符。有没有可能在 Java 中设置哈希码的长度?

0 投票
3 回答
1368 浏览

java - Java 消息摘要 [MD5] 未产生预期的散列

我正在尝试使用以下代码生成 MD5 十六进制哈希:

输出应该是5f4dcc3b5aa765d61d8327deb882cf99(用 检查md5sum),但我看不到错误在哪里。我究竟做错了什么?

0 投票
1 回答
347 浏览

java - 重新生成与存储的数据库哈希不匹配的 SHA-1 哈希

我正在尝试使用键拉伸和 UUID 作为盐来实现 SHA1 密码散列。盐作为一列存储在数据库后端内的用户表中,因此每个用户都将生成自己唯一的盐。

我的问题是,当我尝试重新生成密码哈希时,哈希不匹配,我没有看到问题所在。

registerUser 从 createUser 中获取一个用户对象,然后将其持久化到数据库中。然后我使用 validatePassword 重新生成哈希。请参阅下面的完整代码片段。这是我第一次尝试保护密码,显然我在某个地方犯了错误,但我无法发现错误。

0 投票
1 回答
601 浏览

java - Bouncy Castle 从签名和 X509Certificate 中获取内容

我对 Bouncy Castle 很陌生。我想知道是否有任何方法可以使用 Bouncy Castle API,如果我只有使用带有公钥的 X509Certificate 的签名,我可以获得原始内容。我没有找到任何方法,因为我们只有公钥。我们没有用于签署消息的私钥。

0 投票
1 回答
144 浏览

reset - 重置 MessageDigest 有什么作用?

这是我正在谈论的代码:

reset() 方法对 MessageDigest 对象有什么作用?为什么有必要?

0 投票
4 回答
1379 浏览

java - 将字符串转换为 md5 给出添加位数

我正在尝试MD5使用以下代码将字符串转换为其表示形式:

返回的字符串增加了位数(31,所以它可以是一个十六进制数)。我究竟做错了什么?

0 投票
2 回答
2556 浏览

java - java安全中的签名验证过程

我想在两个人之间发送 original_message。假设 Alice 和 Bob,我想知道这些步骤对于验证签名是否正确

  1. Alice 用她的 PrivateKey 散列 original_message -> h(m)
  2. Alice 加密散列消息 -> c(h(m))
  3. Alice 使用她的 PrivateKey -> s(c(h(m))) 签署消息

Alice 将带有她的 (PublicKey) 和 (the original_message) 的最终签名消息发送给 Bob。在鲍勃方面:

  1. Bob 散列 original_message -> h(m)
  2. Bob 用 Alice 公钥解密签名消息 -> d(s(c(h(m))))
  3. Bob用散列消息检查解密消息是否相等?如果 ( h(m) == d(s(c(h(m)))) )

我知道我做错了。有谁知道双方的好顺序是什么?

在这里,我使用 java.security 来执行此操作,但是当我在最后一步检查哈希时,它给了我错误!

在爱丽丝部分:

在鲍勃部分:

0 投票
1 回答
983 浏览

file - 流关闭错误 Groovy

您好我正在尝试连接 FTP 并读取文件并为该文件生成 md5 校验和值,但我面临 Stream Closed 错误。这是我的代码。

请帮助我哪里出错了

0 投票
2 回答
863 浏览

java - 从 MessageDigest 中获取输入文本

SO上有很多人提出了解决我遇到的问题的不同方法,但似乎没有一个对我有用。我目前正在测试时间戳服务器,并且(除其他外,我正在向服务器发送一条消息)并且我需要阅读该消息是否存在于答案中。所以我正在创建一个请求并准备它:

...跳过发送部分,好的得到答案

现在,从响应中,我可以成功读取字节流,例如:

将输出:-3857-93-189410775135085-65-17-1079624-112-81-4079

无论如何,我一直在盲目地尝试我发现的所有建议,这些建议会转化为“Trolololoooo”,但没有成功。我尝试过的一些(不限于)事情:

...

无论如何,这可能是我缺少的一些明显的东西,比如 messageImprintDigest1 看起来根本不像一个十六进制字符串(请原谅我,我在大学学习地质学)。这些东西对我来说都很新,所以它是很难与编译器或其他一些东西争论。

0 投票
2 回答
1783 浏览

java - 发现java和datastage生成的MD5哈希值不同

我正在尝试使用 java 为字符串“TREFFLAGDATAC000000EN”生成 MD5 校验和值,但对于相同的字符串,IBM InfoSphere DataStage 正在生成不同的 MD5 校验和值。

谁能指导我如何生成数据阶段给出的相同 MD5 校验和值?

java生成的md5代码:4659dff22b357cd9cc9fe0979603d1ab 数据阶段生成的md5:fd607ac2a5d19980795c584dff24b899

下面是我的java代码

public static void main(String[] args) throws UnsupportedEncodingException{ String value = "TREFFLAGDATAC000000EN"; String hashCode = DigestUtils.md5Hex(value.getBytes("UTF-8")); System.out.println(hashCode); }