Pessoal… sou novato no fórum e não tenho muita experiencia com o uso de java para trabalhar com bits. Sou bom em questão de orientação à objeto mas não tenho uma base boa de como trabalho com bits e hexadecimal.
Tenho que fazer um programa de criptografia em que eu escolha uma chave hexadecimal de 64 bits e escreva-a em formato binário de 8 bits. Depois tenho que utilizar bits de paridade em cada gruop para ver quais são as chaves válidas.
OBs: Não posso manipular String´s e nem utilizar um vetor para cada posição do byte.
Eu não tenho nem noção de como implementar a idéia… se alguém tiver alguma noção para que eu possa dar continuidade, por favor me ajude.
Não entendi a questão.
Seria pegar 64 bits e criar um hash de 8 bits para checar a chave?
Esqueci de colocar uma parte do problema. Não precisaria de verificação com hash, o bit de paridade a cada grupo de 8 bits faria isso(7 pra dados, 1 pra paridade).
No total fica 8 bits de paridade e 56 pro resto da chave.
Pra cada grupo de 8 bits, fiz o seguinte metodo pra devolver o byte já com bit de paridade ( esse byte que entra por parametro só usa 7 dos bits pra dados).
[code]public byte paridade(byte bloc) {
byte bloco = bloc;
int n1 = 0;
for(int i=0; i<7; i++)
{
if((bloco & 1) == 1)
n1++;
bloco = (byte) (bloco >> 1);
}
byte paridade = ((n1%2)==0)?(byte)0:(byte)1;
bloco = (byte) ((byte) (bloc << 1) + paridade);
return bloco;
}[/code]
Valew a intenção, se eu emperrar de novo eu mando mais dúvidas, valew