我真的不明白_verify函数在这个类中的作用:
特别是它在'dst'变量中加入了什么。我实际上有一个“验证密钥”,它使用这种方法加密数据,我得到dst变量中的公钥......
这是一个小图表,以便您更好地理解:http://i.imgur.com/R8DqT.png
由于
Ps:我必须在.net中做同样的事情,所以如果你知道相同的东西,请告诉我
答案 0 :(得分:1)
函数_verify(包含在下面参考)
public function verify(src:ByteArray, dst:ByteArray,
length:uint, pad:Function = null):void {
_decrypt(doPublic, src, dst, length, pad, 0x01);
}
查看您提供的link,该函数用于验证RSA签名数据 - 结果将复制到dst ByteArray。
故障:
doPublic
=函数参数,BigInteger.modPowInt()
src
=带有签名数据的字节数组dst
=将保存验证结果的字节数组length
= src字节数组中数据的长度pad
=函数参数,pkcs1pad
(_encrypt
)和pkcs1unpad
(_decrypt
)0x01
= padType - 一个整数值,指定在填充(0x01)中使用固定值(0xff
)还是伪随机值(0x02) - (仅在{{中实际使用) 1}}从pkcs1pad
)在RSA方案中,通过使用公钥解密签名来验证签名数据。
更新:除非您有非特定需求,否则无法理解为什么要移植您发布的ActionScript-3。使用框架中包含的c#RSACryptoServiceProvider。请特别注意MSDN说明中的_encrypt
部分。
以与AS3Crypto实现类似的方式处理有关需要Interoperation with the Microsoft Cryptographic API (CAPI)
字节数组内容的注释,您可以创建一个包装器来根据公钥解密签名数据。查看用于导入公钥信息的RSACryptoServiceProvider.ImportParameters()函数。由于您没有提供有关如何检索公钥的详细信息,因此我无法提供更具体的信息。此实现example应该有助于解析密钥文件,以创建适当的dst
以提供给RSAParameters
方法。