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

Entrée/Sortie Java Discussion :

Manipulation de fichiers avec Java


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Par défaut Manipulation de fichiers avec Java
    Bonjour,

    je suis chargé de synchroniser un LDAP avec une base de données mySQL.
    Pour ce faire, je récupère un fichier au format .ldif de cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dn: dc=example,dc=com
    objectClass: domain
    objectClass: top
    dc: example
    entryUUID: 7527387d-1e6c-33a1-bbf0-62f431bffeb2
     
    ...+ entrées de mon LDAP
    Je compte récupérer certaines données dans ce fichier pour ensuite les ajouter à la base.
    Cependant, je ne sais quel système de flux utiliser pour réaliser les opérations que je veux, à savoir :

    -parcourir, pouvoir itérer sur chaque ligne du fichier
    -une méthode "equals" qui permettrait de comparer une chaine de caractère précise du fichier avec ce que j'aurais spécifié.
    -une extraction simple d'une chaine de caractère de ce-dit fichier.

    alors voila après un ou deux tutos sur internet, j'ai vu qu'il y avait plusieurs façons de manipuler un fichier (flux d'octets, flux d'objets, flux directs, etc...) et je voudrais savoir lequel correspondrait le mieux à mes attentes ?

    merci d'avance !

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Par défaut
    salut

    alors pour ce qui est de la lecture tu a la class Scanner qui est très pratique

    par contre je ne comprend pas pourquoi tu passe par un fichier tu ne peut pas plutôt être client de ton LDAP ?

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    +1, utiliser le protocole LDAP serait plus judicieux, tout te serait déjà servi prémaché par le serveur.

  4. #4
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Par défaut
    Effectivement, vous aviez raison, c'est plus simple d'utiliser JNDI


    ..... nouveau souci donc !!!

    j'utilise JNDI pour récupérer les attributs dont j'ai besoin pour ajouter à la base, et j'ai besoin de récupérer l'attribut "userPassword" du LDAP. le souci c'est que, avec la méthode get de la classe Attribute, cela me renvoie un object et donc si c'est une chaine de caractères je le caste en String, pas de souci...sauf pour le password, qui lui est crypté automatiquement par le LDAP. Je l'ai donc casté en "byte[]" comme première idée seulement il s'avère y avoir un truc bizarre.
    le mot de passe tel qu'il est crypté dans le LDAP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e1NT**************************9PQ==
    le mot de passe récupéré et transformé en String et affiché dans la console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {SSHA}5NM****************y8mQ==
    ça ne correspond pas :/

    -j'aimerais donc savoir s'il y a un type spécial, pour les mots de passes cryptés que je pourrais utiliser pour caster mon résultat ou pour transformer mon tableau de bytes en ce type la ?
    -je désirerais aussi comprendre pourquoi je n'ai pas les mêmes résultats de mot de passe alors que c'est censé être le même ?

    (ouais j'suis une merde en cryptologie)

    merci d'avance !

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Simplement il y a le stockage interne, et le stockage tel que vu de l'extérieur.
    Ce qui importe pour toi c'est que ce que le LDAP t'envoie par JNDI, c'est la même chose que tu dois lui renvoyer si tu veux recréer l'entrée. Sa signification profonde importe peu. Dans le cas présent, la String en question est composée de {algorithme}cle_en_base_64.

    Si je prend donc la version de ton LDIF:
    e1NTSEF9VF***************LSGtrd3c9PQ== et que je décode (base 64) j'obtiens

    {SSHA}TR***********w==
    Ce qui, je pense, correspond à ce que tu récupère dans java

  6. #6
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Par défaut
    tu veux donc dire que c'est doublement encodé ? puisque ce que je récupère dans mon java, ce n'est tjs pas la forme "en clair" de mon password.



    et sinon j'ai une autre question, ma base de données stocke actuellement ses passwords en sha-1, est-ce que je peux convertir ce qui me ressort en java ({SSHA}TR***********w==) en SHA-1 ? (utilisation de MessageDigest ?)

Discussions similaires

  1. etbalir une arborescence des fichiers avec java
    Par groupe dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 13/03/2008, 02h02
  2. Manipulation de fichiers avec rails
    Par pjmorce dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 06/11/2007, 11h40
  3. Manipulation des fichiers avec pl/sql
    Par Answerplease dans le forum PL/SQL
    Réponses: 1
    Dernier message: 10/07/2007, 11h53
  4. Manipulation des fichiers avec fstream.
    Par Pragmateek dans le forum SL & STL
    Réponses: 4
    Dernier message: 04/04/2006, 13h12
  5. [Imprimer] Imprimer un fichier avec Java
    Par gwendo dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 13/11/2004, 20h23

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