9

我想创建一个 C# 类来解密使用 T-SQL 的 EncryptByPassPhrase 加密的字节数组。(是的,我知道我可以在 SQL Server 中解密,但我需要的是能够在数据库层和中间层等价地加密/解密。)

我了解 SQL Server 的 EncryptByPassPhrase 和 DecryptByPassPhrase 使用 TripleDES 对称密钥算法。但是,我不清楚 IV 应该用什么来模拟 SQL Server 的密码学。我可以使用TripleDESCryptoServiceProvider类加密/解密,但我找不到密钥和 IV 的正确实现来复制 SQL Server 正在执行的操作。

有没有人做过类似的事情?谢谢!

4

1 回答 1

1

github 上有一个公共 repo,它EncryptByPassPhrase在 C# 中重新创建,IV 取决于 SQL Server 的版本,因为实现发生了变化。您可以查看代码库的代码。https://github.com/krcs/SQLServerCrypto

于 2021-08-02T18:26:37.913 回答