C# 用C语言对数据进行签名#
我有一个使用RSA算法签名的文件,使用两种方法:C# 用C语言对数据进行签名#,c#,rsa,digital-signature,sha256,C#,Rsa,Digital Signature,Sha256,我有一个使用RSA算法签名的文件,使用两种方法: 弹跳船舱 openssl 这两种方法都会产生两种不同的输出,openssl会产生有效的文件。我不知道为什么我的c代码输出错误 这是我在c语言中为bouncy castle编写的代码# 我不知道为什么我的c代码会导致不同的输出 我不认为ReadText总是返回与openssl处理的二进制文本相同的文本。当然,在执行以下行后,只需将bytes变量写入文件: var bytes = Encoding.UTF8.GetBytes(data); 例如,您
我不知道为什么我的c代码会导致不同的输出 我不认为
ReadText
总是返回与openssl
处理的二进制文本相同的文本。当然,在执行以下行后,只需将bytes
变量写入文件:
var bytes = Encoding.UTF8.GetBytes(data);
例如,您可以使用sha256sum
比较这两个文件
如果这确实是罪魁祸首,那么只需将文件读入二进制文件并签名即可。谢谢@Maarten。是的,你是对的ReadText()是罪魁祸首。但现在我面临另一个问题,即在将大文件转换为字节数组时对其进行签名(抛出outOfMemoryException)。我已经经历过了,但没有成功。你知道我怎样才能在蹦蹦跳跳的城堡里做到吗。
openssl dgst -sha256 -sign content_private_key.pem -out content.zip.sig content.zip
var bytes = Encoding.UTF8.GetBytes(data);