Convertir un fichier en hexadecimal

dj naoki Messages postés 511 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 25 septembre 2016 - 28 sept. 2013 à 19:25
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 8 nov. 2013 à 20:27
Salut salut ,
je voudrais savoir comment convertir n'importe quelle fichier en hexadécimal
de manière a le crypter avec mon algorithme de cryptage.
si je ne m'abuse il va falloir que je charge ce fichier dans un flux mémoire puis que je transforme les donné de type byte array en string puis je fait la modification puis je reconverti en byte array et je sauve c'est ca ???

merci a toutes et a tous pour votre aide a +

12 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
28 sept. 2013 à 19:41
Bonsoir,

Tu n'a qu'à utiliser la lecture binaire du fichier, ensuite, tu auras un tableau d'octet (ou un flux d'octet) qui tu pourras traiter.

Note, "convertir en hexadécomal" ne veut pas dire grand chose, il faut connaitre la finalité, ou comment ce sera utiliser ensuite afin de donner une réponse correcte.
0
dj naoki Messages postés 511 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 25 septembre 2016 2
28 sept. 2013 à 21:48
merci de ta raiponce :)
mais tu va surement te moquer de moi mais c'est quoi un lecteur binaire ?? c'est genre une classe ??

merci.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 28/09/2013 à 21:54
Bonjour,
il ne s'agit ni d'un "lecteur", ni d'une classe, mais d'un mode d'accès par FileOpen.
http://msdn.microsoft.com/fr-fr/library/aa711083%28v=vs.71%29.aspx

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
28 sept. 2013 à 22:18
En général, on évite FileOpen en .NET, car c'est une fonction de compatibilité de VB6, on préfères l'ouverture de Flux, Google est très prolixe en la matière.
0
dj naoki Messages postés 511 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 25 septembre 2016 2
28 sept. 2013 à 22:17
ok dac j'ai regarder le lien que ti ma donner mais je ne voit pas comment je peut faire pour que mon fichier ( quel que soit le format) s'affiche sous forme binaire.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 sept. 2013 à 22:21
Il ne s'"affiche" pas. Il est lu. Rien ne t'empêche de mettre dans une variable ce qui est lu puis d'afficher la variable, si tu y trouves un intérêt, que je ne vois pas (à l'afficher) .
Tu m'inquiètes, là ...
0
dj naoki Messages postés 511 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 25 septembre 2016 2
28 sept. 2013 à 22:24
si l'intérêt c'est que après je peut modifier caractère par caractère exemple :

A0=5B=3F=6C...
tu voit ?
c'est vrais que je pourrais le faire directement dans la variable mais c'est plus compliquer non ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
28 sept. 2013 à 22:25
" c'est vrais que je pourrais le faire directement dans la variable mais c'est plus compliquer non ?"
Gné ?
NON.
0
dj naoki Messages postés 511 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 25 septembre 2016 2
28 sept. 2013 à 22:28
je suis débutant pour moi c'est plus simple chaque chose en son temps déjà je vais faire en sorte de pouvoir ouvrir mon fichier sous forme binaire ensuite je vais coder mon petit algorithme et ensuite j'améliorerais le tout :)
0
dj naoki Messages postés 511 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 25 septembre 2016 2
28 sept. 2013 à 22:40
dsl de vous embêter de manière si lourde... mais pourrais tu me détailler le que tu me donner étape par étape car je ne comprend pas toutes les instruction... merci
0
dj naoki Messages postés 511 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 25 septembre 2016 2
28 sept. 2013 à 22:53
a vrais dire je voudrais que le fichier s'ouvre sous forme binaire mais représenté par de l'hexa...
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
29 sept. 2013 à 00:12
Salut
'ta liste de byte converti en hexa
Private listhexa As New List(Of String)

 Private Sub ReadBinaryFILE(ByVal filename As String)

        Dim input As System.IO.FileStream
        Dim listbinary() As Byte
        listbinary = Nothing
        If IO.File.Exists(filename) Then
            input = New IO.FileStream(filename, IO.FileMode.Open)
            ReDim listbinary(Convert.ToInt32(input.Length - 1))
            input.Read(listbinary, 0, listbinary.Length)
        End If
        listhexa.Clear()
        For Each item As Byte In listbinary
            listhexa.Add(Convert.ToString(item, 16))
        Next

    End Sub


ex
ReadBinaryFILE(Application.StartupPath & "blabla.bla")
0
dj naoki Messages postés 511 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 25 septembre 2016 2
26 oct. 2013 à 23:57
désolé pour le temps que j'ai mis a répondre mais j'était pas mal occupé.
ton code a l'aire pas mal je l'ai essayer la je vais trouver le moyen de le mettre dans un richtextbox et après j'aurais plus qu'a crypter
0
dj naoki Messages postés 511 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 25 septembre 2016 2
Modifié par dj naoki le 27/10/2013 à 00:45
j'ai réussi a l'afficher dans un richtextbox ! mais le pb c'est que j'ai fait ca :
While tablen < listhexa.Count
RichTextBox1.Text = RichTextBox1.Text & listhexa(tablen)
tablen += 1
End While


sauf que pour afficher 2000 caratéres sur 286489 il me fait 2 seconde ><
n'y a il pas une méthode pour afficher tout le tableau d'un coup ?
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
27 oct. 2013 à 14:04
essaie avec une listbox c'est plus rapide
un code un peu modifié

Private listbinary() As Byte
Private Function ReadBinaryFILE(ByVal filename As String) As Boolean
If File.Exists(filename) Then
listbinary = File.ReadAllBytes(filename)
Return True
Else
Return False
End If
End Function

Private Sub showlist()
Dim listhexa As New List(Of String)
For Each item As Byte In listbinary
listhexa.Add(Convert.ToString(item, 16))
Next
ListBox1.Visible = False
ListBox1.DataSource = listhexa
ListBox1.Visible = True
End Sub

' pour utiliser
If ReadBinaryFILE("the path of the file" ) Then
showlist()
End If
0
dj naoki Messages postés 511 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 25 septembre 2016 2
27 oct. 2013 à 14:21
merci déjà mieux :)
0
dj naoki Messages postés 511 Date d'inscription mercredi 22 décembre 2010 Statut Membre Dernière intervention 25 septembre 2016 2
27 oct. 2013 à 14:29
a la rigueur pour un soucis de temps de traitement ne vaut il pas mieux que je face la modification dans le flux mémoire ?
et ci oui comment faire ??

merci a toi et a tout le monde !
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
Modifié par NHenry le 29/09/2013 à 00:30
La représentation et l'accès au fichier sont 2 choses séparées.

Pour l'accès au fichier, ce lien explique assez bien, je pense :
http://social.msdn.microsoft.com/Forums/en-US/31a276f9-d61d-45e6-a227-bfe7d6c8ae90/open-binary-file-by-vbnet

Edit : Je me suis fait grillé de quelques secondes

On peut discuter avec celui qui sait.
On peut discuter avec celui qui ne sait pas.
On ne peut pas discuter avec celui qui croit savoir.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
0
Rejoignez-nous