Bonjour,
j'ai un soucis avec la conversion Base 64, et je n'arrive pas à comprendre ce qui ne va pas.
j'ai une chaine hexa que je dois convertir en Base64 :
D7 8E 68 ED 9F 1E 5E 7A 6B B6 DC 4B 81 40 9D F4 F2 BC 68 A2 6E 68 B2 79 DF 49 C7 5C 22 7C 2A 23 BB 3C CB A6 74 95 5A 76 C3 9B 6C 32 07 5F D8 5C AD 55 FD C9 65 2B E2 C2 AD AB F8 F3 13 27 A2 06 B4 69 17 15 C6 B4 82 B6 90 16 F8 F0 7A 5A 7D 61 2A 43 56 DA 6F F0 22 E3 F5 56 0F 8B 07 61 00 B0 05 6F 0A 23 2B 0A 9C 86 29 45 06 35 0E 71 D0 F8 7D D7 7C 58 52 06 78 D5 1A BF 08 D2 76 C3 80 2D B8 28 1B AF 92 AF 45 3C 2F 28 4B F8 24 42 79 AB 29 9E 76 AD D8 CB 59 2D EA DE 47 6D 09 0B CC CA 4C 38 1B 4C 2F 35 01 89 95 2F D6 C4 C0 A4 4B 4A DF D0 9D 08 8F 06 00 4B 19 75 6E 5E 3D 27 6B EF BC B4 AA C0 3B 40 24 F1 5A 58 8B A4 D0 C1 C7 80 4E B9 82 73 F4 87 5E 8E AB 4D 4F 8C C0 0F BB 10 07 A6 1A 8B 9E 0B CC 9D 25 A4 79 80 DD B6 8A DF F6 37 80 12 6A C4 2D D6 1D 20 5F EB CC 7A EA 27
je fais ce code :
1 2 3 4 5 6 7 8
| Dim text As String = System.IO.File.ReadAllText("C:\Users\Baptiste\Desktop\A005_modulus.txt", System.Text.Encoding.Default)
Dim byteStrings As String() = text.Split(" "c)
Dim bytes(byteStrings.Length - 1) As Byte
For i As Integer = 0 To bytes.Length - 1
bytes(i) = Byte.Parse(byteStrings(i), Globalization.NumberStyles.AllowHexSpecifier)
Next i
Debug.Print(Convert.ToBase64String(bytes, Base64FormattingOptions.None)) |
mon base64 ne correspond pas à ce que j'attends !
donc je décide de faire l'inverse, partir du base64 et obtenir la chaine hexa, voici le base64 attendu :
ANeOaO2fHl56a7bcS4FAnfTyvGiibmiyed9Jx1wifCojuzzLpnSVWnbDm2wyB1/YXK1V/cllK+LCrav48xMnoga0aRcVxrSCtpAW+PB6Wn1hKkNW2m/wIuP1Vg+LB2EAsAVvCiMrCpyGKUUGNQ5x0Ph913xYUgZ41Rq/CNJ2w4AtuCgbr5KvRTwvKEv4JEJ5qymedq3Yy1kt6t5HbQkLzMpMOBtMLzUBiZUv1sTApEtK39CdCI8GAEsZdW5ePSdr77y0qsA7QCTxWliLpNDBx4BOuYJz9IdejqtNT4zAD7sQB6Yai54LzJ0lpHmA3baK3/Y3gBJqxC3WHSBf68x66ic=
je fais ce code :
1 2 3 4 5 6 7
| text = System.IO.File.ReadAllText("C:\Users\Baptiste\Desktop\A005_modulus_B64.txt")
Dim toto As Byte() = Convert.FromBase64String(text)
Dim result As String
For i As Integer = 1 To toto.Length - 1
result = result & toto(i).ToString("X2")
Next i
Debug.Print(result) |
et là j'obtiens le même tableau hexa que j'ai mis plus haut !
donc j'en déduis que je peux faire B64 => hexa sans erreur, mais hexa => B64 ne marche pas !
savez vous ce qu'il se passe ?
Partager