将Python转换为.Net代码以使用MD5/RSA进行签名

将Python转换为.Net代码以使用MD5/RSA进行签名,python,cryptography,.net-core,md5,Python,Cryptography,.net Core,Md5,我在互联网上发现了一段用Python编写的代码,并希望将其转换为.NET Core: import rsa def sign(data): privkey = rsa.PrivateKey.load_pkcs1(KEY) signature = rsa.sign(str.encode(data), privkey, 'MD5') print(signature) return ''.join(["%02x" % x for x in signature]).st

我在互联网上发现了一段用Python编写的代码,并希望将其转换为.NET Core:

import rsa

def sign(data):
    privkey = rsa.PrivateKey.load_pkcs1(KEY)
    signature = rsa.sign(str.encode(data), privkey, 'MD5')
    print(signature)
    return ''.join(["%02x" % x for x in signature]).strip()
它使用PKCS1私钥散列数据。 我尝试了包含的函数和BouncyCastel,但它们都没有很好的文档。
我认为要使用.NET Core,我可能必须将我的密钥转换为XML。

看看,希望这会让您走上正轨。XML不会这样做,.NET Core不支持to/FromXmlString方法:)Bouncy应该能够读取PKCS#1编码的私钥。使用MD5生成签名-一个已知的易产生冲突的坏散列函数-可能会出现什么问题?更新你的算法!还有(和朋友们)。嗯,那当然是Bouncy Castle密码库。对不起,我已经习惯了把它缩短为“Bouncy”。