问题标签 [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.
java - 是否可以将哈希码限制为 Java 中特定数量的字符
我已经编写了一种使用 MD5 算法将纯文本转换为哈希码的方法。请在下面找到我使用的代码。
此方法完美运行,但它返回一个冗长的哈希。我需要将此哈希文本限制为 8 个字符。有没有可能在 Java 中设置哈希码的长度?
java - Java 消息摘要 [MD5] 未产生预期的散列
我正在尝试使用以下代码生成 MD5 十六进制哈希:
输出应该是5f4dcc3b5aa765d61d8327deb882cf99
(用 检查md5sum
),但我看不到错误在哪里。我究竟做错了什么?
java - 重新生成与存储的数据库哈希不匹配的 SHA-1 哈希
我正在尝试使用键拉伸和 UUID 作为盐来实现 SHA1 密码散列。盐作为一列存储在数据库后端内的用户表中,因此每个用户都将生成自己唯一的盐。
我的问题是,当我尝试重新生成密码哈希时,哈希不匹配,我没有看到问题所在。
registerUser 从 createUser 中获取一个用户对象,然后将其持久化到数据库中。然后我使用 validatePassword 重新生成哈希。请参阅下面的完整代码片段。这是我第一次尝试保护密码,显然我在某个地方犯了错误,但我无法发现错误。
java - Bouncy Castle 从签名和 X509Certificate 中获取内容
我对 Bouncy Castle 很陌生。我想知道是否有任何方法可以使用 Bouncy Castle API,如果我只有使用带有公钥的 X509Certificate 的签名,我可以获得原始内容。我没有找到任何方法,因为我们只有公钥。我们没有用于签署消息的私钥。
reset - 重置 MessageDigest 有什么作用?
这是我正在谈论的代码:
reset() 方法对 MessageDigest 对象有什么作用?为什么有必要?
java - 将字符串转换为 md5 给出添加位数
我正在尝试MD5
使用以下代码将字符串转换为其表示形式:
返回的字符串增加了位数(31,所以它可以是一个十六进制数)。我究竟做错了什么?
java - java安全中的签名验证过程
我想在两个人之间发送 original_message。假设 Alice 和 Bob,我想知道这些步骤对于验证签名是否正确
- Alice 用她的 PrivateKey 散列 original_message -> h(m)
- Alice 加密散列消息 -> c(h(m))
- Alice 使用她的 PrivateKey -> s(c(h(m))) 签署消息
Alice 将带有她的 (PublicKey) 和 (the original_message) 的最终签名消息发送给 Bob。在鲍勃方面:
- Bob 散列 original_message -> h(m)
- Bob 用 Alice 公钥解密签名消息 -> d(s(c(h(m))))
- Bob用散列消息检查解密消息是否相等?如果 ( h(m) == d(s(c(h(m)))) )
我知道我做错了。有谁知道双方的好顺序是什么?
在这里,我使用 java.security 来执行此操作,但是当我在最后一步检查哈希时,它给了我错误!
在爱丽丝部分:
在鲍勃部分:
file - 流关闭错误 Groovy
您好我正在尝试连接 FTP 并读取文件并为该文件生成 md5 校验和值,但我面临 Stream Closed 错误。这是我的代码。
请帮助我哪里出错了
java - 从 MessageDigest 中获取输入文本
SO上有很多人提出了解决我遇到的问题的不同方法,但似乎没有一个对我有用。我目前正在测试时间戳服务器,并且(除其他外,我正在向服务器发送一条消息)并且我需要阅读该消息是否存在于答案中。所以我正在创建一个请求并准备它:
...跳过发送部分,好的得到答案
现在,从响应中,我可以成功读取字节流,例如:
将输出:-3857-93-189410775135085-65-17-1079624-112-81-4079
无论如何,我一直在盲目地尝试我发现的所有建议,这些建议会转化为“Trolololoooo”,但没有成功。我尝试过的一些(不限于)事情:
...
无论如何,这可能是我缺少的一些明显的东西,比如 messageImprintDigest1 看起来根本不像一个十六进制字符串(请原谅我,我在大学学习地质学)。这些东西对我来说都很新,所以它是很难与编译器或其他一些东西争论。
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);
}