Ae… e quanto ao tempo? Como eu controlo? Qual informação preciso inserir (só pra clarear) para que o programa saiba QUAL A DURAÇÃO DA LICENÇA CORRESPONDENTE?
Provavelmente deve ter algoritmos prontos pra isso, mas se vc for fazer na mão, vc mesmo poderia fazer todo esquema. Uma idéia por exemplo seria que toda chave terminada com A venceria em Janeiro, B Fevereiro, e assim por diante, essas regras vc que define.
Velho que massa!! Eu ainda não havia pensado dessa forma!
Dei umas googladas e não encontrei nenhum pronto. Mas vou continuar procurando, e quem sabe até fazer um… rs
Então…e as informações referente ao mês (por exemplo) a qual expira a licença devem ser armazenadas no banco? Criptografadas lá talves?? E todas as vezes que o programa iniciar, deve ser feita uma consulta nessa data (ou senha) para verificar a integridade e data da licença…é isso??? Imagino q as informações qnto a licença do produto devem ser armazenadas em locais “pouco comuns”, afinal, é a nossa “renda” haha
Alguém tem um algoritimo (ou parte dele p dar uma clareada) para a galera analizar??
A melhor maneira de fazer isso é começar a comercializar o teu software como serviço - e colocar ele na web (se possível)
Caso não seja possível, pesquise sobre criptografia assimétrica e pki - a idéia é que você tem um par de chaves (uma pública + uma privada). Você gera o arquivo de licença (que pode ser até um objeto com essas informações serializado, encripta ele de maneira que só a chave pública que tem dentro do software interprete. Vale lembrar que o seu código dentro do jar é passível de decompilação (jad e outros), o que no final das contas significa que você não está tão protegido assim