thingol 22 de fev. de 2005
Aham, não entendi direito - o que acontece, a saída fica diferente da entrada? (para facilitar o seu serviço, acostume-se a sempre imprimir os bytes de um byte array em hexadecimal. Vou facilitar o seu serviço mais uma vez e postar uma função que imprime um byte array em hexa, como se fosse um utilitário hexdump).
static void printHex ( byte [] b ) {
for ( int i = 0 ; i < b . length ; ++ i ) {
if ( i % 16 == 0 ) {
System . out . print ( Integer . toHexString (( i & 0xFFFF ) | 0x10000 ). substring ( 1 , 5 ) + " - " );
}
System . out . print ( Integer . toHexString (( b [ i ]& 0xFF ) | 0x100 ). substring ( 1 , 3 ) + " " );
if ( i % 16 == 15 || i == b . length - 1 )
{
int j ;
for ( j = 16 - i % 16 ; j > 1 ; -- j )
System . out . print ( " " );
System . out . print ( " - " );
int start = ( i / 16 ) * 16 ;
int end = ( b . length < i + 1 ) ? b . length : ( i + 1 );
for ( j = start ; j < end ; ++ j )
if ( b [ j ] >= 32 && b [ j ] <= 126 )
System . out . print (( char ) b [ j ] );
else
System . out . print ( "." );
System . out . println ();
}
}
System . out . println ();
}
O formato de saída dessa função é algo como:
0000 - 69 6 d 70 6 f 72 74 20 6 a 61 76 61 2 e 69 6 f 2 e 2 a - import java.io. *
0010 - 3 b 0 d 0 a 69 6 d 70 6 f 72 74 20 6 a 61 76 61 2 e 75 - ; .. import java.u
0020 - 74 69 6 c 2 e 2 a 3 b 0 d 0 a 0 d 0 a 70 75 62 6 c 69 63 - til .* ; .... public
0030 - 20 63 6 c 61 73 73 20 48 65 78 44 75 6 d 70 20 7 b - class HexDump {
0040 - 0 d 0 a 20 20 20 20 73 74 61 74 69 63 20 76 6 f 69 - .. static voi
0050 - 64 20 70 72 69 6 e 74 48 65 78 28 62 79 74 65 5 b - d printHex ( byte [
0060 - 5 d 20 62 29 20 7 b 0 d 0 a 20 20 20 20 20 20 20 20 - ] b ) { ..
Edu4rd0 22 de fev. de 2005
Bom, aparentemente os arrays de bytes são os mesmo, porém há uma diferença de tamanho…
thingol 22 de fev. de 2005
Ainda não entendi. Como duas coisas iguais podem ter tamanhos diferentes?
Edu4rd0 22 de fev. de 2005
é isso que acontece, o original tem um tamanho diferente do descomprimido, aki estah o hexdump:
Original :
0000 - ac ed 00 05 73 72 00 2 e 65 63 66 76 2 e 63 6 f 6 d - .... sr .. ecfv . com
0010 - 70 61 72 74 69 6 c 68 61 6 d 65 6 e 74 6 f 2 e 65 6 c - partilhamento . el
0020 - 67 61 6 d 61 6 c 2 e 45 6 c 47 61 6 d 61 6 c 50 75 62 - gamal . ElGamalPub
0030 - 6 c 69 63 4 b 65 79 1 f 14 67 33 46 bf b2 46 02 00 - licKey .. g3F .. F ..
0040 - 01 4 c 00 02 6 d 59 74 00 16 4 c 6 a 61 76 61 2 f 6 d - . L .. mYt .. Ljava / m
0050 - 61 74 68 2 f 42 69 67 49 6 e 74 65 67 65 72 3 b 78 - ath / BigInteger ; x
0060 - 72 00 28 65 63 66 76 2 e 63 6 f 6 d 70 61 72 74 69 - r .( ecfv . comparti
0070 - 6 c 68 61 6 d 65 6 e 74 6 f 2 e 65 6 c 67 61 6 d 61 6 c - lhamento . elgamal
0080 - 2 e 45 6 c 47 61 6 d 61 6 c 4 b 65 79 21 cd bb 9 c f1 - . ElGamalKey !....
0090 - 2 e e0 d4 02 00 02 4 c 00 02 6 d 47 71 00 7 e 00 01 - ...... L .. mGq .~..
00 a0 - 4 c 00 02 6 d 50 71 00 7 e 00 01 78 70 73 72 00 14 - L .. mPq .~.. xpsr ..
00 b0 - 6 a 61 76 61 2 e 6 d 61 74 68 2 e 42 69 67 49 6 e 74 - java . math . BigInt
00 c0 - 65 67 65 72 8 c fc 9 f 1 f a9 3 b fb 1 d 03 00 06 49 - eger .....;..... I
00 d0 - 00 08 62 69 74 43 6 f 75 6 e 74 49 00 09 62 69 74 - .. bitCountI .. bit
00 e0 - 4 c 65 6 e 67 74 68 49 00 13 66 69 72 73 74 4 e 6 f - LengthI .. firstNo
00 f0 - 6 e 7 a 65 72 6 f 42 79 74 65 4 e 75 6 d 49 00 0 c 6 c - nzeroByteNumI .. l
0100 - 6 f 77 65 73 74 53 65 74 42 69 74 49 00 06 73 69 - owestSetBitI .. si
0110 - 67 6 e 75 6 d 5 b 00 09 6 d 61 67 6 e 69 74 75 64 65 - gnum [.. magnitude
0120 - 74 00 02 5 b 42 78 72 00 10 6 a 61 76 61 2 e 6 c 61 - t ..[ Bxr .. java . la
0130 - 6 e 67 2 e 4 e 75 6 d 62 65 72 86 ac 95 1 d 0 b 94 e0 - ng . Number .......
0140 - 8 b 02 00 00 78 70 ff ff ff ff ff ff ff ff ff ff - .... xp ..........
0150 - ff fe ff ff ff fe 00 00 00 01 75 72 00 02 5 b 42 - .......... ur ..[ B
0160 - ac f3 17 f8 06 08 54 e0 02 00 00 78 70 00 00 00 - ...... T .... xp ...
0170 - 80 65 7 e d1 e5 2 b 41 96 7 e 94 02 53 45 30 d3 5 a - . e ~..+ A .~.. SE0 . Z
0180 - 3 c 17 b5 ff 05 54 a3 58 a1 cf c6 8 b c5 f6 9 a 3 d - <.... T . X .......=
0190 - 66 f8 56 e2 0 b b4 cd e6 f1 f8 79 c0 a2 dd 01 20 - f . V ....... y ....
01 a0 - 86 2 e 10 1 f 5 c a5 3 e 31 d1 bc 71 7 c e4 d9 0 a 80 - ....\.> 1 .. q |....
01 b0 - f6 58 ba b8 a8 07 ab 44 75 42 bf ff a8 ec f2 61 - . X ..... DuB ..... a
01 c0 - d0 fe c0 93 39 06 71 7 f dd 7 c f5 06 2 c 73 b7 3 b - .... 9 . q ..|.., s .;
01 d0 - f7 89 12 43 fe ab d7 b2 2 d 47 df c2 60 b7 db 78 - ... C ....- G .. ` .. x
01 e0 - 6 a f3 9 b 77 33 08 5 a 9 b 50 c4 af cb 84 36 16 32 - j .. w3 . Z . P .... 6.2
01 f0 - 4 b 78 73 71 00 7 e 00 04 ff ff ff ff ff ff ff ff - Kxsq .~..........
0200 - ff ff ff fe ff ff ff fe 00 00 00 01 75 71 00 7 e - ............ uq .~
0210 - 00 08 00 00 00 80 b5 11 d5 5 f 51 66 c0 29 eb b6 - ......... _Qf .)..
0220 - a9 91 91 ff d3 f0 7 e c3 93 5 a d5 b5 07 cd 9 d e9 - ......~.. Z ......
0230 - 51 ba 37 fd 1 a 45 30 37 30 81 36 b4 f5 f1 3 b d0 - Q . 7 .. E070 . 6 ...;.
0240 - bf 84 1 d 45 ce ee f0 15 5 f 8 e 0 f 29 c8 32 83 d1 - ... E .... _ ..). 2 ..
0250 - fb ef a7 e0 f5 eb 72 dd 03 93 c0 0 d de 75 63 37 - ...... r ...... uc7
0260 - 6 e 4 d c4 c0 d5 32 99 94 59 16 bd 0 a 7 e c4 cb 1 d - nM ... 2 .. Y ...~...
0270 - 36 1 b af 12 f2 0 f f8 0 b 7 f 03 03 a4 71 89 cc c7 - 6 ........... q ...
0280 - 4 e f8 28 2 a d5 54 4 d 3 b 85 28 03 fc 2 f b3 0 d 1 b - N .(*. TM ;.(../...
0290 - 65 f1 f2 20 ab 5 d 78 73 71 00 7 e 00 04 ff ff ff - e .. .] xsq .~.....
02 a0 - ff ff ff ff ff ff ff ff fe ff ff ff fe 00 00 00 - ................
02 b0 - 01 75 71 00 7 e 00 08 00 00 01 00 1 f 32 2 d 79 f1 - . uq .~....... 2 - y .
02 c0 - 8 c 42 c9 18 27 61 ec 32 ea 24 51 10 2 f 23 67 89 - . B .. 'a.2.$Q./#g.
02d0 - 7f d4 f9 84 a8 b3 c7 ee cf a2 dd 94 54 28 02 30 - ............T(.0
02e0 - 1a 0b a7 e0 a0 83 39 08 f1 83 69 72 54 1b 58 af - ......9...irT.X.
02f0 - b8 8f 7a 01 6b 37 62 7b cf a3 f2 52 b0 70 ae 21 - ..z.k7b{...R.p.!
0300 - a1 bc 20 2b 33 60 58 c1 95 3f 2f 76 f9 49 8c 24 - .. +3`X..?/v.I.$
0310 - 05 13 f8 c1 67 d8 bb 72 92 d5 d4 99 b2 f5 b9 43 - ....g..r.......C
0320 - f8 13 ed 59 fe 27 94 d2 e2 07 25 ec 00 04 cf 27 - ...Y.' ....%.... '
0330 - be 5f f0 9c d8 00 06 45 23 58 2f 0d 96 7c ed 70 - ._.....E#X/..|.p
0340 - 84 79 01 85 bf 9a 32 f0 2a c4 93 0f ae 02 bb 41 - .y....2.*......A
0350 - f0 b1 c2 6e a7 22 d0 80 94 1d 8a b3 ab d6 ee 21 - ...n.".........!
0360 - 2d 6f 8b ce 6b 4b 93 4e d1 3a c3 3b c6 65 6d 79 - -o..kK.N.:.;.emy
0370 - c6 9d 5a 5d fc 8c 75 17 0d ca 3f 78 86 fd 80 80 - ..Z]..u...?x....
0380 - ea 3c dd 24 8c 4a 38 74 1f d9 6d df 2c 05 f8 24 - .<.$.J8t..m.,..$
0390 - 8e 9f cd 6a 98 c4 0f 7f 86 06 46 a7 44 00 c0 a1 - ...j......F.D...
03a0 - d6 6c 13 78 75 f9 49 be 2c a5 02 2a 4a 36 f7 e3 - .l.xu.I.,..*J6..
03b0 - 94 bb 03 2f f1 fb 1f bb cc 03 fa 78 - .../.......x
Após Descompressão:
0000 - ac ed 00 05 75 72 00 02 5b 42 ac f3 17 f8 06 08 - ....ur..[B......
0010 - 54 e0 02 00 00 78 70 00 00 03 bc ac ed 00 05 73 - T....xp........s
0020 - 72 00 2e 65 63 66 76 2e 63 6f 6d 70 61 72 74 69 - r..ecfv.comparti
0030 - 6c 68 61 6d 65 6e 74 6f 2e 65 6c 67 61 6d 61 6c - lhamento.elgamal
0040 - 2e 45 6c 47 61 6d 61 6c 50 75 62 6c 69 63 4b 65 - .ElGamalPublicKe
0050 - 79 1f 14 67 33 46 bf b2 46 02 00 01 4c 00 02 6d - y..g3F..F...L..m
0060 - 59 74 00 16 4c 6a 61 76 61 2f 6d 61 74 68 2f 42 - Yt..Ljava/math/B
0070 - 69 67 49 6e 74 65 67 65 72 3b 78 72 00 28 65 63 - igInteger;xr.(ec
0080 - 66 76 2e 63 6f 6d 70 61 72 74 69 6c 68 61 6d 65 - fv.compartilhame
0090 - 6e 74 6f 2e 65 6c 67 61 6d 61 6c 2e 45 6c 47 61 - nto.elgamal.ElGa
00a0 - 6d 61 6c 4b 65 79 21 cd bb 9c f1 2e e0 d4 02 00 - malKey!.........
00b0 - 02 4c 00 02 6d 47 71 00 7e 00 01 4c 00 02 6d 50 - .L..mGq.~..L..mP
00c0 - 71 00 7e 00 01 78 70 73 72 00 14 6a 61 76 61 2e - q.~..xpsr..java.
00d0 - 6d 61 74 68 2e 42 69 67 49 6e 74 65 67 65 72 8c - math.BigInteger.
00e0 - fc 9f 1f a9 3b fb 1d 03 00 06 49 00 08 62 69 74 - ....;.....I..bit
00f0 - 43 6f 75 6e 74 49 00 09 62 69 74 4c 65 6e 67 74 - CountI..bitLengt
0100 - 68 49 00 13 66 69 72 73 74 4e 6f 6e 7a 65 72 6f - hI..firstNonzero
0110 - 42 79 74 65 4e 75 6d 49 00 0c 6c 6f 77 65 73 74 - ByteNumI..lowest
0120 - 53 65 74 42 69 74 49 00 06 73 69 67 6e 75 6d 5b - SetBitI..signum[
0130 - 00 09 6d 61 67 6e 69 74 75 64 65 74 00 02 5b 42 - ..magnitudet..[B
0140 - 78 72 00 10 6a 61 76 61 2e 6c 61 6e 67 2e 4e 75 - xr..java.lang.Nu
0150 - 6d 62 65 72 86 ac 95 1d 0b 94 e0 8b 02 00 00 78 - mber...........x
0160 - 70 ff ff ff ff ff ff ff ff ff ff ff fe ff ff ff - p...............
0170 - fe 00 00 00 01 75 72 00 02 5b 42 ac f3 17 f8 06 - .....ur..[B.....
0180 - 08 54 e0 02 00 00 78 70 00 00 00 80 65 7e d1 e5 - .T....xp....e~..
0190 - 2b 41 96 7e 94 02 53 45 30 d3 5a 3c 17 b5 ff 05 - +A.~..SE0.Z<....
01a0 - 54 a3 58 a1 cf c6 8b c5 f6 9a 3d 66 f8 56 e2 0b - T.X.......=f.V..
01b0 - b4 cd e6 f1 f8 79 c0 a2 dd 01 20 86 2e 10 1f 5c - .....y.... ....\
01c0 - a5 3e 31 d1 bc 71 7c e4 d9 0a 80 f6 58 ba b8 a8 - .>1..q|.....X...
01d0 - 07 ab 44 75 42 bf ff a8 ec f2 61 d0 fe c0 93 39 - ..DuB.....a....9
01e0 - 06 71 7f dd 7c f5 06 2c 73 b7 3b f7 89 12 43 fe - .q..|..,s.;...C.
01f0 - ab d7 b2 2d 47 df c2 60 b7 db 78 6a f3 9b 77 33 - ...-G..`..xj..w3
0200 - 08 5a 9b 50 c4 af cb 84 36 16 32 4b 78 73 71 00 - .Z.P....6.2Kxsq.
0210 - 7e 00 04 ff ff ff ff ff ff ff ff ff ff ff fe ff - ~...............
0220 - ff ff fe 00 00 00 01 75 71 00 7e 00 08 00 00 00 - .......uq.~.....
0230 - 80 b5 11 d5 5f 51 66 c0 29 eb b6 a9 91 91 ff d3 - ...._Qf.).......
0240 - f0 7e c3 93 5a d5 b5 07 cd 9d e9 51 ba 37 fd 1a - .~..Z......Q.7..
0250 - 45 30 37 30 81 36 b4 f5 f1 3b d0 bf 84 1d 45 ce - E070.6...;....E.
0260 - ee f0 15 5f 8e 0f 29 c8 32 83 d1 fb ef a7 e0 f5 - ..._..).2.......
0270 - eb 72 dd 03 93 c0 0d de 75 63 37 6e 4d c4 c0 d5 - .r......uc7nM...
0280 - 32 99 94 59 16 bd 0a 7e c4 cb 1d 36 1b af 12 f2 - 2..Y...~...6....
0290 - 0f f8 0b 7f 03 03 a4 71 89 cc c7 4e f8 28 2a d5 - .......q...N.(*.
02a0 - 54 4d 3b 85 28 03 fc 2f b3 0d 1b 65 f1 f2 20 ab - TM;.(../...e.. .
02b0 - 5d 78 73 71 00 7e 00 04 ff ff ff ff ff ff ff ff - ]xsq.~..........
02c0 - ff ff ff fe ff ff ff fe 00 00 00 01 75 71 00 7e - ............uq.~
02d0 - 00 08 00 00 01 00 1f 32 2d 79 f1 8c 42 c9 18 27 - .......2-y..B..'
02 e0 - 61 ec 32 ea 24 51 10 2 f 23 67 89 7 f d4 f9 84 a8 - a . 2 . $Q ./ # g ......
02 f0 - b3 c7 ee cf a2 dd 94 54 28 02 30 1 a 0 b a7 e0 a0 - ....... T (. 0 .....
0300 - 83 39 08 f1 83 69 72 54 1 b 58 af b8 8 f 7 a 01 6 b - . 9 ... irT . X ... z . k
0310 - 37 62 7 b cf a3 f2 52 b0 70 ae 21 a1 bc 20 2 b 33 - 7 b {... R . p .!.. + 3
0320 - 60 58 c1 95 3 f 2 f 76 f9 49 8 c 24 05 13 f8 c1 67 - ` X ..?/ v . I . $ .... g
0330 - d8 bb 72 92 d5 d4 99 b2 f5 b9 43 f8 13 ed 59 fe - .. r ....... C ... Y .
0340 - 27 94 d2 e2 07 25 ec 00 04 cf 27 be 5 f f0 9 c d8 - '....%....' . _ ...
0350 - 00 06 45 23 58 2 f 0 d 96 7 c ed 70 84 79 01 85 bf - .. E # X /..|. p . y ...
0360 - 9 a 32 f0 2 a c4 93 0 f ae 02 bb 41 f0 b1 c2 6 e a7 - . 2 .*...... A ... n .
0370 - 22 d0 80 94 1 d 8 a b3 ab d6 ee 21 2 d 6 f 8 b ce 6 b - " .........!- o .. k
0380 - 4 b 93 4 e d1 3 a c3 3 b c6 65 6 d 79 c6 9 d 5 a 5 d fc - K . N .:.;. emy .. Z ].
0390 - 8 c 75 17 0 d ca 3 f 78 86 fd 80 80 ea 3 c dd 24 8 c - . u ...? x .....<. $ .
03 a0 - 4 a 38 74 1 f d9 6 d df 2 c 05 f8 24 8 e 9 f cd 6 a 98 - J8t .. m .,.. $ ... j .
03 b0 - c4 0 f 7 f 86 06 46 a7 44 00 c0 a1 d6 6 c 13 78 75 - ..... F . D .... l . xu
03 c0 - f9 49 be 2 c a5 02 2 a 4 a 36 f7 e3 94 bb 03 2 f f1 - . I .,..* J6 ...../.
03 d0 - fb 1 f bb cc 03 fa 78 - ...... x
Não haveria nenhum acréscimo de bytes ao passar de byte[] para objeto?
thingol 22 de fev. de 2005
Puxa vida, vendo o segundo dump, vemos que ele é o dump de um array de bytes serializado (que casualmente deve ter o seu objeto),
não de um objeto ecvf.compartilhamento.elgamal.ElGamalPublicKey (o dump do primeiro objeto).
Acho que você deve usar algum outro objeto para gravar o seu array de bytes, não DataOutputStream, mas FileOutputStream direto.
É que não li os seus programas direito, mas dá para chutar isso só de ver o
dump.