Tengo un proyecto antiguo en VB que creó un código de PC único de la dirección MAC y la identificación del disco. Esto se usó para identificar una PC, por lo que no se pueden usar las credenciales entre las PC.
Este proyecto migró a C #, y encapsulé esta lógica en una DLL que simplemente llama a un método que devuelve el pc_id.
El problema que tengo ahora es que es muy fácil crear una nueva DLL que tenga el mismo nombre de clase y la misma firma de método y devolver cualquier PC_id que deseen.
¿Cómo puedo asegurarme de que la DLL a la que hace referencia mi programa sea realmente mía?
Pensé en comparar el hash de mi DLL con uno codificado, pero ¿es esto seguro entre diferentes sistemas operativos? ¿Cambiará el hash del archivo entre los sistemas de archivos?
¿O cuál es el método preferido para garantizar la integridad / el origen de los archivos?