Tamanho da senha criptografada

Olá,

estou com uma dúvida aqui que está me matando,

estou trabalhando com jms e a mensagem precisa ter um layout para o receptor conseguir analisa-la, o problema é na parte da senha, transformo a senha para HEXA e uso a criptografia Triple-DES produzindo assim um resultado de 32 caracteres para uma senha de 8. O problema é que o resultado criptografado varia de acordo com o tamanho da senha inserida, isto está correto? existe alguma maneira de fixar o número de caracteres de saída para a criptografia Triple-DES ou ele funciona assim mesmo?

eu imagino que esteja ok ser variavel o tamanho final pois assim aumenta a segurança, mas posso estar errado neh.

procurei diversas documentações mas nao achei uma resposta definitiva, e eu precisava de algo pra mostrar pro meu cliente.

Obrigado.

Kra 3DES funciona em blocos. Geralmente o default eh bloco de 8 em 8.
Entao o normal eh, se vc criptografa 7 bytes, vai ter um bloco de 8
Se vc criptografa 11 bytes, vai ter um bloco de 16 e assim vai.

a) A senha é a chave ou o valor que deve ser criptografado?
b) O tamanho de um dado criptografado em Triple-DES depende do modo de operação do algoritmo usado e do “padding”.

O “padding” inclui entre 1 e 8 bytes a mais, se usado.
O modo de operação usado aumenta entre 0 a 7 bytes, sem incluir o padding, se for ECB ou CBC, ou então deixar no mesmo tamanho (se for CFB-8 ou OFB-8, por exemplo).

[quote=thingol]a) A senha é a chave ou o valor que deve ser criptografado?
b) O tamanho de um dado criptografado em Triple-DES depende do modo de operação do algoritmo usado e do “padding”.

O “padding” inclui entre 1 e 8 bytes a mais, se usado.
O modo de operação usado aumenta entre 0 a 7 bytes, sem incluir o padding, se for ECB ou CBC, ou então deixar no mesmo tamanho (se for CFB-8 ou OFB-8, por exemplo).
[/quote]

A chave não varia de acordo com a senha, é fixa.

o modo que estou usando é “CBC”
e o padding “PKCS5Padding”

vou procurar alguma documentação que explica os modos e os paddings, se alguém souber de alguma seria de grande ajuda :wink:

Wikipedia - 3DES
http://en.wikipedia.org/wiki/Triple_DES

Agora tu ta em faculdade? Ou ta indo na aventura de querer entender criptografia?
Pq tem td uma base por tras disso.

[quote=uncoloredmind][quote=thingol]a) A senha é a chave ou o valor que deve ser criptografado?
b) O tamanho de um dado criptografado em Triple-DES depende do modo de operação do algoritmo usado e do "padding".

O "padding" inclui entre 1 e 8 bytes a mais, se usado.
O modo de operação usado aumenta entre 0 a 7 bytes, sem incluir o padding, se for ECB ou CBC, ou então deixar no mesmo tamanho (se for CFB-8 ou OFB-8, por exemplo).
[/quote]

A chave não varia de acordo com a senha, é fixa.

o modo que estou usando é "CBC"
e o padding "PKCS5Padding"

vou procurar alguma documentação que explica os modos e os paddings, se alguém souber de alguma seria de grande ajuda :wink: [/quote]

Usando CBC e PKCS5Padding, então o tamanho é dado, em bytes, por

(N / 8 + 1) * 8,

onde N é o tamanho original do dado criptografado.

No seu caso, como você passa para hexadecimal, multiplique o valor da fórmula que lhe passei por 2.

Exemplo: senha = 1 byte -> (1 / 8 + 1) * 8 = 8 bytes = 16 caracteres hexadecimais.
senha = 7 bytes -> (7 / 8 + 1) * 8 = 8.
senha = 8 bytes -> (8 / 8 + 1) * 8 = 16.

[quote=Sagatiba]Wikipedia - 3DES
http://en.wikipedia.org/wiki/Triple_DES

Agora tu ta em faculdade? Ou ta indo na aventura de querer entender criptografia?
Pq tem td uma base por tras disso.[/quote]

estou no serviço
mas curso a faculdade tb

é qdo comecei a mexer com o 3DES vi que criptografica não é tão simples quanto eu imaginava que ia ser
tudo uma confusão
sahudohaso
mas um dia eu chego lá

Obrigado pela ajuda sagatiba e thingol!!