Danfe

Bom dia,
Pessoal alguém pode me responder como funciona o código de segurança do DANFE?

A chave da NF-e possui 44 caracteres de largura e é composta dos seguintes dados:

2 caracteres - Código da UF segundo o padrão do IBGE. Exemplo: 42 = SC.
4 caracteres - Ano e mês da emissão, exemplo: 201204 = ano 2012, mês de abril.
14 caracteres - CNPJ do emitente.
2 caracteres - modelo do documento fiscal. Exemplo: 55 = NFE.
3 caracteres - Série da nota fiscal. Exemplo: 001
9 caracteres - Número da nota fiscal. Exemplo: 000001030 = nota 1.030
1 caracter - Forma de emissão da nota. Exemplo: 1 = modo normal.
8 caracteres - Código de segurança. Este código é gerado livremente pelo aplicativo do contribuinte, recomenda-se que seja aplicado algum algoritmo de criptografia para dar mais segurança ao processo de numeração das NF-e
1 caracter - Dígito verificador.

A dúvida é como gerar esse código? Alguém tem algum algoritmo que possa me passar? Desde já agradeço a atenção de todos.
Fernando bezerra

aqui nos pegamos o resto da divisão do hashcode por um primo e o multiplicamos por outro primo. É bem trivial, mas funciona a mais de 3 anos sem problemas.

me desculpe, conferi no codigo e na verdade fazemos o contrario. Multiplicamos o hashcode por um primo e depois pegamos o resto da divisao desse resultado por outro primo com 8 algarismos