Cita:
Iniciado por chuidiang Hola:
¿Y si ahora me llevo el programa a otro PC y empiezo con una ejecución desde cero (base de datos vacía)?. El programa lee la dirección mac y como la base de datos está vacía, encripta la mac y la guarda en bd ...... y se ejecuta bien. He conseguido pirateártelo sin hacer nada especial, salvo ejecutar el programa por primera vez en otro PC
Es mejor que no lo haga el programa en la primera instalación, sino que sea un proceso manual que realices tú o alguien autorizado. Coges la mac, la encriptas manualmente y la insertas manualmente en base de datos. O bien, si no quieres "desplazarte", pides la dirección mac al cliente, generas un fichero de texto con ella encriptada y se lo envías al cliente, para que lo ponga junto a tu jar. El jar tiene que buscar ese fichero a piñón fijo y no ejecutarse si no está o el contenido no coincide con la MAC del pc encriptada.
Por cierto, las cadenas no se comparan con A==MAC, sino con A.equals(MAC). Posiblemente no entre nunca en ese if.
Se bueno.
Si tuviera que hacerlo, por la razón que fuera, usando la MAC, se haría como tu dices claro, manualmente la primera vez almacenándola y lo único que haría sería comprobar. Por supuesto, esta solución no es nada profesional. Lo que yo di fue una primera aproximación, algo de "andar por casa" que llaman, en el caso que tuviera que instalarle mi aplicación al vecino por ejemplo y no quisiera que este se lo pase a otro sin mi permiso. Si lo que hablamos es de un programa profesional para instalar en una empresa ya habría que buscar una solución seria.