我有一个关于 C# 的问题。
我目前正在开发一个医疗软件产品,其中一件重要的事情是确保患者的数据是加密的。我对此有两个问题:
1.) System.Security.Cryptography 的 AES (Rijndael) 的 Microsoft .NET 实现有多安全?它是否有任何已知的安全漏洞,或者我是否可以仅使用 MS 实现?(注意,我知道这些算法如何工作的基本背景,但我并没有深入了解它是如何工作的)。
2.) 由于数据与应用程序存储在同一台 PC 上,从 C# 应用程序获取信息有多难?假设我在代码中的某个地方
string encrypPassword = "ThisIsMyPassword";
string encryptedString = EncryptString(ClearString, encrypPassword);
// save encryptedString to harddrive
我知道攻击者可以直接查看汇编代码,此时我对此无能为力(系统必须能够加密/解密数据),但是有没有类似的捷径C# 获取 encrypPassword,因为它是托管的,还是这样的事情仍然需要你去汇编代码?