使用RSA SignHash从签名哈希返回



我非常擅长这个。我甚至不确定我的要求是否正确。

我被要求解密一些包,但我发现该包没有被加密,而是包(byte[])内部有一个受密码保护的.zip。

所以现在我必须取回那个密码。我在代码中追踪到了它,结果是:

lSupraHeader = lCryptoTransformRSA.SignHash(lSupraHeader, CryptoConfig.MapNameToOID("SHA512"));

lSupraHeader是一个Byte[],它包含(除其他内容外)密码。如果我从lSupraHeader中获得字符串,我可以读取密码,问题是在"SignHash"之后,我再也无法获得它了,好吧,我不知道该怎么做。

那个代码是不久前制作的,更改它对我来说不是一个选择

有没有办法从那里检索密码?我问的是正确的吗?我提供了什么,还是需要其他东西?

有没有办法从那里检索密码?

没有。一旦对数据进行了散列处理,就无法对其进行解散列。

SHA也被称为"单向哈希算法"。它的设计使得任何数量的数据都可以放入其中,并且产生有限数量的数据。这样的东西对于检查两条数据是否相等很有用,尽管这种方法也有缺陷(有各种解决方法)。

另一方面,加密接收数据,使用密钥,并吐出一堆大小与原始数据大致相等的随机数据。使用相同的密钥,可以对随机数据进行未加密或解密,以产生原始数据。

话虽如此:

我在代码中追踪到了它,结果是:

你是怎么发现的?看起来您有权访问源代码和调试器。如果这是真的,那么看看是否可以在调试器中找到一个"即时窗口"。您可以通过这种方式设置断点、执行Console.WriteLine(whatever)并手动检索密码。这样做会使原始代码保持原样。

最新更新