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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ANeOaO2fHl56a7bcS4FAnfTyvGiibmiyed9Jx1wifCojuzzLpnSVWnbDm2wyB1/YXK1V/cllK+LCrav48xMnoga0aRcVxrSCtpAW+PB6Wn1hKkNW2m/wIuP1Vg+LB2EAsAVvCiMrCpyGKUUGNQ5x0Ph913xYUgZ41Rq/CNJ2w4AtuCgbr5KvRTwvKEv4JEJ5qymedq3Yy1kt6t5HbQkLzMpMOBtMLzUBiZUv1sTApEtK39CdCI8GAEsZdW5ePSdr77y0qsA7QCTxWliLpNDBx4BOuYJz9IdejqtNT4zAD7sQB6Yai54LzJ0lpHmA3baK3/Y3gBJqxC3WHSBf68x66ic=
je fais ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?