<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Les forums de JeBulle.net – [VB.Net]Comment décoder une chaine encodée en base64 ?]]></title>
	<link rel="self" href="https://forums.jebulle.net/feed/atom/topic/514/" />
	<updated>2006-04-07T14:09:31Z</updated>
	<generator>PunBB</generator>
	<id>https://forums.jebulle.net/topic/514/vbnetcomment-decoder-une-chaine-encodee-en-base64/</id>
		<entry>
			<title type="html"><![CDATA[Re: [VB.Net]Comment décoder une chaine encodée en base64 ?]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/6245/#p6245" />
			<content type="html"><![CDATA[<p>MERCI SYLNIC !!!</p><p>Enfin une fonction qui fonctionne !! Enfin quelqu&#039;un qu&#039;est pas un développeur du dimanche ! (...je dis ça parce que je passe pas mal de temps sur developpez.com...et je veux pas balancer, mais y&#039;en a pas mal qui comprenne pas ce qu&#039;il font ! Mais il le font quand même !).</p><p>Donc ca fonctionne. Cependant, j&#039;ai un truc bizarre. En fait, j&#039;ai encodé une base Access en base64 (juste la structure vierge de toute données) pour pouvoir recréer autant de bases que nécessaire. La chaine base64 de mon fichier, je l&#039;ai collée dans une constante d&#039;un module VB.</p><p>J&#039;ai donc recraché ma base grâce à ta méthode, sauf que maintenant, quand je veux l&#039;ouvrir, Access me demande le mot de passe de la base !! Or j&#039;ai jamais mis de mot de passe...</p>]]></content>
			<author>
				<name><![CDATA[SamRay1024]]></name>
				<uri>https://forums.jebulle.net/user/2/</uri>
			</author>
			<updated>2006-04-07T14:09:31Z</updated>
			<id>https://forums.jebulle.net/post/6245/#p6245</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [VB.Net]Comment décoder une chaine encodée en base64 ?]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/6244/#p6244" />
			<content type="html"><![CDATA[<p>Ouep les deux opérateurs fonctionnent</p>]]></content>
			<author>
				<name><![CDATA[Sylnic]]></name>
				<uri>https://forums.jebulle.net/user/36/</uri>
			</author>
			<updated>2006-04-07T14:01:29Z</updated>
			<id>https://forums.jebulle.net/post/6244/#p6244</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [VB.Net]Comment décoder une chaine encodée en base64 ?]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/6243/#p6243" />
			<content type="html"><![CDATA[<p>Petite précision ultime au passage : j&#039;ai halluciné moi, l&#039;opérateur de concaténation c&#039;est bien &quot;&amp;&quot;, mais il semblerait que &quot;+&quot; fonctionne aussi. Je mélange tout moi...</p>]]></content>
			<author>
				<name><![CDATA[SamRay1024]]></name>
				<uri>https://forums.jebulle.net/user/2/</uri>
			</author>
			<updated>2006-04-07T13:58:39Z</updated>
			<id>https://forums.jebulle.net/post/6243/#p6243</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [VB.Net]Comment décoder une chaine encodée en base64 ?]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/6242/#p6242" />
			<content type="html"><![CDATA[<p>YES ! UN SYLNIC ! SALUT !</p><p>Je vais essayer ce que tu me proposes et je te dis ça. Merci !!!</p><p>Et oui, je galère avec .Net. C&#039;est vraiment de la merde en branche ce truc...Je le disais déjà avant sans connaître (par pure &quot;racisme&quot;), mais maintenant je connais !! Et je confirme... <img src="https://forums.jebulle.net/img/smilies/big_smile.png" width="15" height="15" alt="big_smile" /></p>]]></content>
			<author>
				<name><![CDATA[SamRay1024]]></name>
				<uri>https://forums.jebulle.net/user/2/</uri>
			</author>
			<updated>2006-04-07T13:49:52Z</updated>
			<id>https://forums.jebulle.net/post/6242/#p6242</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [VB.Net]Comment décoder une chaine encodée en base64 ?]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/6241/#p6241" />
			<content type="html"><![CDATA[<p>Alors comme ca Samy on galère avec le .NET !! <img src="https://forums.jebulle.net/img/smilies/wink.png" width="15" height="15" alt="wink" /></p><p>Dis moi si avec ca tu t&#039;en sort :</p><div class="codebox"><pre><code>imports System
imports System.Text

Public Function Base64ToTexte(ByVal Texte As String) As String
    Try
        If Texte.Length = 0 Then
            Return &quot;&quot;
        Else
            Return Encoding.ASCII.GetString(Convert.FromBase64String(Texte))
        End If
    Catch ex As Exception
        Return &quot;&quot;
    End Try
End Function</code></pre></div><p>et voici l&#039;inverse :</p><div class="codebox"><pre><code>Public Function TexteToBase64(ByVal Texte As String) As String
    Try
        Dim texteBytes As Byte() = Encoding.ASCII.GetBytes(Texte)
        If texteBytes.Length = 0 Then
            Return &quot;&quot;
        Else
            Return Convert.ToBase64String(texteBytes)
        End If
    Catch ex As Exception
        Return &quot;&quot;
    End Try
End Function</code></pre></div><p>Sinon, lundi je te traduirai la fonction que tu as trouvée en VB en VB.Net car j&#039;ai un doute sur &quot;nGroup = Hex(nGroup)&quot;&nbsp; qui te propose a l&#039;intérieur.</p><p>Tiens moi au courant</p><p>PS: Tu vois Cyb que des fois je viens sur le forum <img src="https://forums.jebulle.net/img/smilies/smile.png" width="15" height="15" alt="smile" /> <img src="https://forums.jebulle.net/img/smilies/smile.png" width="15" height="15" alt="smile" /> <img src="https://forums.jebulle.net/img/smilies/wink.png" width="15" height="15" alt="wink" /></p>]]></content>
			<author>
				<name><![CDATA[Sylnic]]></name>
				<uri>https://forums.jebulle.net/user/36/</uri>
			</author>
			<updated>2006-04-07T13:41:15Z</updated>
			<id>https://forums.jebulle.net/post/6241/#p6241</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [VB.Net]Comment décoder une chaine encodée en base64 ?]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/6238/#p6238" />
			<content type="html"><![CDATA[<p>Ouep, c&#039;est la 1ère chose que j&#039;ai faite <img src="https://forums.jebulle.net/img/smilies/wink.png" width="15" height="15" alt="wink" />.</p><p>En fait, y&#039;a bien quelque chose quand j&#039;analyse ça :</p><div class="codebox"><pre><code>System.Text.Encoding.Default.GetString(myOutputBytes)</code></pre></div><p>Sauf que ca ne va pas dans la chaine...</p><p>Alors j&#039;ai tout de même apporté une correction : j&#039;avais mis des &quot;&amp;=&quot; pour la concaténation. C&#039;était faux puisque l&#039;opérateur de concaténation en Vb est le &quot;+&quot;. J&#039;ai donc corrigé en remplaçant par &quot;+=&quot;.</p><p>Cela dit, cela ne change rien au problème...</p>]]></content>
			<author>
				<name><![CDATA[SamRay1024]]></name>
				<uri>https://forums.jebulle.net/user/2/</uri>
			</author>
			<updated>2006-04-04T14:42:35Z</updated>
			<id>https://forums.jebulle.net/post/6238/#p6238</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [VB.Net]Comment décoder une chaine encodée en base64 ?]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/6237/#p6237" />
			<content type="html"><![CDATA[<p>question con mais :<br />As tu penser a mettre un affichage de la chaine que tu passe en paramètre pour voir si elle est bien rempli ?</p>]]></content>
			<author>
				<name><![CDATA[dckinou]]></name>
				<uri>https://forums.jebulle.net/user/42/</uri>
			</author>
			<updated>2006-04-04T14:39:30Z</updated>
			<id>https://forums.jebulle.net/post/6237/#p6237</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [VB.Net]Comment décoder une chaine encodée en base64 ?]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/6235/#p6235" />
			<content type="html"><![CDATA[<p>Sylnic à l&#039;aide !!!!! :&#039;(</p>]]></content>
			<author>
				<name><![CDATA[SamRay1024]]></name>
				<uri>https://forums.jebulle.net/user/2/</uri>
			</author>
			<updated>2006-04-04T08:16:58Z</updated>
			<id>https://forums.jebulle.net/post/6235/#p6235</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [VB.Net]Comment décoder une chaine encodée en base64 ?]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/6227/#p6227" />
			<content type="html"><![CDATA[<p>Vu que sylnic ne passe jamais su le forum (dommage) je ne sais pas si tu vas avoir une réponse.</p><p>À moins que kinou (nouvel expert .Net <img src="https://forums.jebulle.net/img/smilies/smile.png" width="15" height="15" alt="smile" />) passe dans le coin !</p>]]></content>
			<author>
				<name><![CDATA[Cyberbob002]]></name>
				<uri>https://forums.jebulle.net/user/5/</uri>
			</author>
			<updated>2006-03-30T16:17:36Z</updated>
			<id>https://forums.jebulle.net/post/6227/#p6227</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [VB.Net]Comment décoder une chaine encodée en base64 ?]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/6226/#p6226" />
			<content type="html"><![CDATA[<p>...oui...à des années lumières ! <img src="https://forums.jebulle.net/img/smilies/lol.png" width="15" height="15" alt="lol" /></p>]]></content>
			<author>
				<name><![CDATA[SamRay1024]]></name>
				<uri>https://forums.jebulle.net/user/2/</uri>
			</author>
			<updated>2006-03-30T15:19:04Z</updated>
			<id>https://forums.jebulle.net/post/6226/#p6226</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [VB.Net]Comment décoder une chaine encodée en base64 ?]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/6225/#p6225" />
			<content type="html"><![CDATA[<p>base64_decode </p><br /><br /><br /><p>je suis loin ......</p>]]></content>
			<author>
				<name><![CDATA[Cyberbob002]]></name>
				<uri>https://forums.jebulle.net/user/5/</uri>
			</author>
			<updated>2006-03-30T15:15:47Z</updated>
			<id>https://forums.jebulle.net/post/6225/#p6225</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[[VB.Net]Comment décoder une chaine encodée en base64 ?]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/6220/#p6220" />
			<content type="html"><![CDATA[<p>Salut,</p><p>Tout est dans la question : je cherche le moyen de décoder une chaine qui est en base 64.<br />J&#039;avais trouvé <a href="http://vb.developpez.com/faq/?page=Reseau#base64">une fonction</a> qui fait ça mais elle est écrite en VB or il me faut ça en VB.Net et je n&#039;ai pas su l&#039;adapter.<br />---<br />J&#039;ai donc poursuivi mes recherches jusqu&#039;à trouver le namespace pour Vb.Net qui permet de gérer le format base 64 :</p><p><a href="http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfSystemSecurityCryptography.asp">System.Security.Cryptography</a></p><p>Les classes qui permettent l&#039;encodage et le décodage sont les suivantes : </p><p><a href="http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfsystemsecuritycryptographyfrombase64transformclasstopic.asp">FromBase64Transform</a><br /><a href="http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfsystemsecuritycryptographytobase64transformclasstopic.asp">ToBase64Transform</a></p><p>J&#039;ai trouvé dans ces pages un exemple qui permet de décoder un fichier en base64 et de mettre de résultat dans un nouveau fichier. J&#039;ai donc essayé d&#039;adapter cet exemple avec le peu de connaissances que j&#039;ai en Vb.Net pour convertir une chaine en base64 vers une chaine décodée et voici ce que j&#039;ai obtenu :</p><div class="codebox"><pre><code>&#039;
&#039; Fonction de décodage de chaine encodée au format base64
&#039;
&#039; @param    [String]    base64String    La chaine à décoder.
&#039; @return   [String]                    La chaine décodée.
&#039;
Public Function Base64Decode(ByVal base64String As String) As String
        
    Dim myTransform As New FromBase64Transform(FromBase64TransformMode.IgnoreWhiteSpaces)
    Dim myOutputBytes(myTransform.OutputBlockSize - 1) As Byte
    Dim sChaineDecodee As String = &quot;&quot;

    Dim myInputBytes(base64String.Length - 1) As Byte
    myInputBytes = System.Text.Encoding.ASCII.GetBytes(base64String)

    &#039;Transform the data in chunks the size of InputBlockSize.
    Dim i As Integer = 0
    While myInputBytes.Length - i &gt; 4 &#039;myTransform.InputBlockSize
        myTransform.TransformBlock(myInputBytes, i, 4, myOutputBytes, 0) &#039;myTransform.InputBlockSize
        i += 4 &#039;myTransform.InputBlockSize

        sChaineDecodee &amp;= System.Text.Encoding.Default.GetString(myOutputBytes)
    End While

    &#039;Transform the final block of data.
    myOutputBytes = myTransform.TransformFinalBlock(myInputBytes, i, myInputBytes.Length - i)
    sChaineDecodee &amp;= System.Text.Encoding.Default.GetString(myOutputBytes)

    &#039;Free up any used resources.
    myTransform.Clear()

    Return sChaineDecodee

End Function</code></pre></div><p>L&#039;ennui c&#039;est que la chaine retournée est vide <img src="https://forums.jebulle.net/img/smilies/hmm.png" width="15" height="15" alt="hmm" /> et que je ne sais pas comment résoudre ce problème.</p><div class="codebox"><pre><code>sChaineDecodee &amp;= System.Text.Encoding.Default.GetString(myOutputBytes)</code></pre></div><p>C&#039;est ici le coeur du problème : sChaineDecodee vaut toujours vide. Quelle solution dois-je utiliser pour passer du tableau d&#039;octets à la chaine ?</p>]]></content>
			<author>
				<name><![CDATA[SamRay1024]]></name>
				<uri>https://forums.jebulle.net/user/2/</uri>
			</author>
			<updated>2006-03-30T08:46:45Z</updated>
			<id>https://forums.jebulle.net/post/6220/#p6220</id>
		</entry>
</feed>
