IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Problème Conversion Base64


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 8
    Par défaut Problème Conversion Base64
    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 ?

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Les bytes d'entrés (ou la chaîne de sortie) ne sont pas bon. La chaîne que tu attends correspond à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    00 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 39
    La différence c'est qu'il y a un 00 au début, et 39 à la fin.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 8
    Par défaut
    merci de ta réponse, mais je ne crois pas que ça résolve mon problème :

    la chaine hexa est celle que j'ai en exemple, et celle en b64 est celle qui correspond à la chaine hexa selon la norme ebics : http://www.ebics.org/fileadmin/unsec...escription.pdf

    donc si tu peux me donner un exemple qui marche, ça serait le top.

    merci

  4. #4
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Bizarre. J'ai essayé ta chaîne avec http://home2.paulschou.net/tools/xlate/ , et il me sort la même chose que .NET (la page est en PHP). J'ai essayé avec d'autres, même topo !

Discussions similaires

  1. Problème Conversion REAL --> VARCHAR
    Par YOYOVbSQL dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/03/2006, 18h03
  2. [D7][Débutant] Problème conversion String <- TEdit
    Par _alex_ dans le forum Composants VCL
    Réponses: 2
    Dernier message: 16/02/2006, 22h48
  3. Problème conversion temps
    Par Vodkha dans le forum Langage
    Réponses: 5
    Dernier message: 16/02/2006, 15h24
  4. Problème conversion float vers double
    Par jhenaff dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 27/01/2006, 10h39
  5. Problème conversion date
    Par mat.M dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/03/2004, 15h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo