Java - desplazamiento de bits

   
Vista:

desplazamiento de bits

Publicado por kaleb (20 intervenciones) el 12/11/2007 13:25:26
Hola Tengo una duda con los operadores de desplazamiento de bits.
Tengo el siguiente codigo en C++

char* xmix(const char* password, int[] buffer, int[] key)
{

for(int i = 0; i<64; i+=8)
{
int c=*password;
if(c!=0)
password++;
buffer[i]^=c>>7&1;
buffer[i+1]^=c>>6&1;
buffer[i+2]^=c>>5&1;
buffer[i+3]^=c>>4&1;
buffer[i+4]^=c>>3&1;
buffer[i+5]^=c>>2&1;
buffer[i+6]^=c>>1&1;
buffer[i+7]^=c&1;
}
:::::
}

Entiendo que hay esta manejando direcciones de memoria cuando hace las operaciones de desplazamiento de bits.
Yo en java lo he puesto así :
final int xmix(int password, int[] buffer, int[] key)
{
for(int i = 0; i<64; i+=8)
{
int c=password;
if(c!=0)
password++;
buffer[i]^=c>>7&1;
buffer[i+1]^=c>>6&1;
buffer[i+2]^=c>>5&1;
buffer[i+3]^=c>>4&1;
buffer[i+4]^=c>>3&1;
buffer[i+5]^=c>>2&1;
buffer[i+6]^=c>>1&1;
buffer[i+7]^=c&1;
}
initialize(key);
encrypt(buffer);
return password;
}

Pero esto no esta bien. Ademas creo que debería de recibir un string y no un int.
Alguna sugerencia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder