manipulação de byte[]

para poder usar a API de criptografia, manipulamos o byte[].
em “C” existe o unsigned byte, mas em java o byte é sempre sinalizado.

existe algum tipo nativo que pode ser utilizado para este fim? é utilizado o signed byte mesmo?

sempre signed.
fizeram isso para evitar a grande confusao e dor de cabeca que ha qdo alguem ta usando signed e voce unsigned, ai o cara muda, etc e tal.

todos os valores em java sao signed (excecao do char, mas ai a historia eh diferente)

como faço para manipular um byte[] onde o conteúdo deveria ser todos unsigned? utilizo o char[] que é 2-byte?

some 128 antes de colocar no array, subtraia 128 depois de tirar do array

valeu!
belo CASTING…

Isso funciona mesmo?

unsigned byte o intervalo é [0, 255] [0x0, 0xFF]
signed byte o intervalo é [-128, 127] [0x80, 0x7F]

vejamos
0x0 + 0x80 -> 0x80 (-128)
0x1 + 0x80 -> 0x81 (-127)
0xFF + 0x80 -> 0x17F -> 0x7F (127)

e o inverso obviamente tb funciona.

Pior que funciona mesmo, legal.
Oque eu sempre fiz foi usar masking, & 0xFF, para guardar num byte[].