我在 VB 中有一个旧项目,它根据 MAC 地址和光盘 ID 创建了一个唯一的 pc 代码。这用于识别 pc,因此不能在 pc 之间使用凭据。
这个项目迁移到 C#,我将这个逻辑封装在一个 DLL 中,它只调用一个返回 pc_id 的方法。
我现在遇到的问题是,创建一个具有相同类名和方法签名的新 DLL 并返回他们想要的任何 pc_id 非常容易。
如何确保我的程序引用的 DLL 实际上是我的?
我想将我的 DLL 的哈希值与硬编码的哈希值进行比较,但这在不同的操作系统之间是否安全?文件的哈希值会在文件系统之间改变吗?
或者在确保文件完整性/来源时首选哪种方法?