AES加密的C#change算法

AES加密的C#change算法,c#,encryption,hash,openssl,aes,C#,Encryption,Hash,Openssl,Aes,我目前被一个用OpenSSL加密的csv文件困住了 这是aes-256-cbc,我知道密码,所以解密应该没有问题。然而,它是用OpenSSL=1.1中,他们将其更改为SHA 这导致>=1.1版本无法成功解密版本

我目前被一个用OpenSSL加密的csv文件困住了

这是aes-256-cbc,我知道密码,所以解密应该没有问题。然而,它是用OpenSSL<1.1创建的,在这些旧版本中,他们在内部使用MD5作为散列,在>=1.1中,他们将其更改为SHA

这导致>=1.1版本无法成功解密版本<1.1的加密文件。它显示“坏解密”并创建完成的文件,但内容仍然不可读。github和其他几个平台上都知道这个问题。必须使用旧的OpenSSL版本进行解密,然后才能工作

在我应该解密加密文件的程序中,它的行为就像是OpenSSL的新版本之一。虽然密码正确,但最终文件未正确解密。
所以我的问题是,我如何使用RijnadelManaged,为应该使用的哈希算法提供额外的数据?不幸的是,我无法控制使用哪个版本对文件进行加密。

而且您应该使用。如果使用SHA的身份验证失败(MAC错误),则返回MD5。因为你没有MAC电脑,你必须分析解密的文件,如果分析表明它的格式不正确,你就必须回退。@jww是的,这就是概念,但我想知道一种用C实现它的方法!