Gerar Chaves para software

Ola pessoal,

Preciso de uma ajuda para gerar chave ( Com mais ou menos 10 caracterees alphanumericos ) . ou seja preciso criar uma pequena app que gere chavezs para um determinado software e um determinado periodo ( 1 mes, 3 meses, 6 meses, e 1 ano ).

Ja contrui a uma Frame swing com estas 4 opções em formas de check Box, agora preciso de um metodo que gere um chave em funcao da opção selecionada para eu dar ao cliente para ele utilizar dentro daquele periodo. mas de relembrar que as chaves nunca podem ser repetidas.

Outra questao é saber como faço do lado da aplicação para que ela reconhaca aquela uma chave que a outra app gerar, e que ao chegar o tempo de expiração ela me de um alerta, ou pare a aplicação ?

Obrigao desde ja !

Se eu entendi bem, acho que você deve dar uma pesquisada em algoritmos de chave-simétrica.