65
|
Kothar · 技术社区 · 16 年前 |
![]() |
1
53
好的,我已经弄清楚发生了什么。Leonidas是对的,加密的不仅仅是散列(在Cipher类方法的情况下),而是与摘要连接的散列算法的ID:
这就是为什么密码和签名的加密是不同的。 |
![]() |
2
11
|
![]() |
3
5
bytes2String方法的一个稍微高效的版本是
|
![]() |
4
4
呃,在理解您的问题之后:您确定签名方法只创建SHA1并对其进行加密吗?GPG等人提出压缩/清除数据签名。也许这个java签名alg还创建了一个可分离/可附加的签名。 |
![]() |
5
2
您可以使用BouncyCastle提供程序或默认Sun提供程序。 |
![]() |
6
0
通过我添加的这段代码,我可以推断,根据要使用的“提供商”,公司可能会有所不同?(因为加密中包含的数据在所有提供程序中并不总是相等的)。 我的测试结果。签名解密=???(垃圾)+摘要信息(如果我们知道“垃圾”的值,数字签名将相等) 输入数据:这是正在签名的消息 摘要:62b0a9ef15461c82766fb5bdaae9edbe4ac2e067 摘要信息:302130090652B0E03021A0500041462B0A9EF15461C82766FB5BDAAE9EDBE4AC2E067
密码
|
![]() |
7
0
下面的代码(摘自我的博客文章)- http://todayguesswhat.blogspot.com/2021/01/manually-verifying-rsa-sha-signature-in.html )希望有助于理解带有RSA签名的标准SHA中的内容。这应该在标准的OracleJDK中工作,并且不需要BouncyCastle库。它使用sun.security类来处理解密的签名内容——您也可以轻松地手动解析。 在下面的示例中,消息摘要算法是SHA-512,它生成64字节(512位)校验和。 SHA-1将非常类似,但会产生一个20字节(160位)的校验和。
|
![]() |
JDChi · iText7多重签名 7 年前 |
![]() |
dpilwal · itext不工作时的数字签名验证 7 年前 |
![]() |
lucasdc · 如何签署嵌入时间戳并启用LTV的PDF? 7 年前 |
|
Lery · 使用ECDSA或DSA对预计算哈希进行签名 8 年前 |
![]() |
Kirill Liubun · TLS生成证书签名的依据是什么 8 年前 |