C# 保护软件

C# Protect software

我这样保护我的软件:

  1. 将 HDD 和 CPU 序列与存储的进行比较(我将它们加密存储 在程序用户设置中)
  2. 所有存储在数据库中的数据都经过 DES 加密。 DES 密钥和 IV I 存储在 windows 注册表。

我明白这种方式的保护很弱,将密钥和 IV 存储在注册表中不是一个好主意。请给我一些建议以改进此保护。

  1. 不要使用 DES,它不安全,几十年前就被 AES 取代了。

  2. 不要使用 ECB 模式,它不安全,请参阅 ECB mode,向下滚动到 Penguin。使用带有 IV 的 CBC 模式,请参见下面的 3。

  3. IV应该是每次加密生成的随机字符串,加在加密数据前面,解密时使用——不需要保密。