Archives de l’auteur : Fylhan

Comment sécuriser les mots de passe de mes utilisateurs ? Le Hashage !

Publié dans Geekeries | 5 commentaires

Aujourd’hui j’ai eu un cours qui m’a permis de comprendre ce que je n’avais jamais compris. Lorsque j’ai appris le PHP, on m’a dit : « il faut chiffrer les mots de passe de tes utilisateurs quand tu les enregistres dans une base de données ! ». Moi, docile, j’ai obéis ! (quoi, on me glisse dans l’oreillette que cela n’a rien à voir avec le chiffrement mais plutôt avec le hachtakage hashage ? Oui bon, on y vient !)
Cela paraît logique :

  • lors de son inscription, l’utilisateur me fournit un mot de passe en clair (appelons-le Mclair),
  • je le chiffre (il devient Mchiffré) et l’enregistre dans ma base de données,
  • lorsque cet utilisateur veut se connecter, il me fournit un mot de passe en clair (appelons-le Tclair), je le chiffre (appelons-le Tchiffré) et teste s’il correspond au mot de passe chiffré de ma base de données (Tchiffré == Mchiffré ?)

Avec ce système, si quelqu’un accède à ma base de données, il ne lui servira à rien de lire les mots de passe de mes utilisateurs puisqu’ils sont sécurisés, il ne pourra donc pas se faire passer pour un de mes utilisateurs. C’est déjà suffisamment embêtant que quelqu’un ait réussi à s’introduire dans ma base de données !

Ce que je n’avais bien capté, c’est ce qui signifie chiffré un message et pourquoi on m’avait encouragé à utilisé la fonction de chiffrage « Md5 » alors que je lisais par ailleurs qu’il valait mieux utiliser « Sha-1 ». Aujourd’hui, je suis un homme nouveau qui voit le monde autrement et qui se couchera accessoirement légèrement moins bête ce soir.
Continuer la lecture

Android : main.out.xml:1: error: Error parsing XML: no element found

Publié dans Java | Laisser un commentaire

Tiens, voilà longtemps que je n’avais pas écris un nouveau billet ! Depuis Noël en fait. Qu’importe, me voilà de retour pour un billet sur Android ! Voilà une erreur avec laquelle j’ai dû découdre l’autre jour :

res\layout\main.xml:0: error: Resource entry main is already defined.
res\layout\main.out.xml:0: Originally defined here. ...\workspace\TP-Android\res\layout\main.out.xml:1:
error: Error parsing XML: no element found Error in an XML file: aborting build.

La solution

  • Supprimer le fichier main.out.xml
  • Cliquer sur le fichier de votre Activity principale (pour moi src/package-tp-android/main.java)
  • Relancer l’exécution

Si cela ne fonctionne toujours pas, essayez plutôt :

  • Supprimer le fichier main.out.xml
  • Cleaner le projet (Projet / Clean…) et rafraichir (F5 sur le projet, ou clic droit / Refresh)
  • Relancer l’exécution !

L’explication

Cette erreur est due à la création du fichier main.out.xml qui fait un doublon de nom avec le main.xml et ce fichier est créé si on lance un run à partir du main.xml. Pour éviter l’erreur, il faut donc lancer le run en sélectionnant un fichier Java (de préférence l’Activity principale) et ensuite utiliser l’historique des run.

Joyeux Noël 2010

Publié dans Informations | Laisser un commentaire

Au moins 30 minutes de Joyeux Noël à chacun !

Et un peu de lecture pour se rappeler l’histoire de Noël : Naissance de Jésus (la Bible, livre de Luc, les chapitres 1 et 2)

Le retour de Buzz ?

Publié dans Geekeries | Un commentaire

Buzz sur Gmail

Ou peut-être pas, qui sait ?!?

Je n’arrête pas de le voir apparaître / disparaître sur mon Gmail en tout cas…

Expression n° 4 : Perte de temps

Publié dans Geekeries | 2 commentaires

Le temps, c’est de l’argent

Et l’argent ne fait pas le bonheur

Donc, perdre son temps

C’est s’éloigner du malheur.

UTF-8 pour le chinois : il parait que ça marche

Publié dans Java | 2 commentaires

UTF-8
Alors alors, peut-on écrire du chinois avec de l’UTF-8 ? La réponse est : OUI !

Par contre, c’est un chinois simplifié qui ne contient donc pas tous les caractères chinois. Si on ne souhaite pas fricoter avec l’unicode, on peut aussi utiliser son homologue chinois (c’est-à-dire l’équivalent de l’UTF-8 (standard international) version chinoise. Bizarre non ?) : GB18030. Mais la encore, c’est du chinois simplifié. Pour avoir du chinois traditionnel, il faut faire face à Big5 (je trouve que le nom en jette !).

Tout ceci explique pourquoi la classe Locale de Java (qui permet de gérer la langue à utiliser) définit le raccourci : Locale.TRADITIONAL_CHINESE et Locale.SIMPLIFIED_CHINESE.

Pour info, Google.ch utilise l’UTF-8 et après quelques minutes de surf sur des sites chinois (avec une collègue chinoise qui m’a montré tout ça), il y a des sites en UTF-8 et des sites en GB18030.

J’aurai peut-être l’occasion de tester ça d’ici 3 semaines, si c’est le cas je confirmerai ou infirmerai ce billet.

Pour aller plus loin

Fichier de configuration SSH

Publié dans Geekeries | Laisser un commentaire

SSH est tout de même un protocole vraiment formidable pour accéder à un serveur distant. Une petite ligne de commande, un mot de passe (et/ou une clef publique) et hop, c’est comme si on était sur la machine qui se situe parfois à je ne sais quelle distance de nous, le tout sécurisé ! Que demander de plus ?
Cela dit, si vous êtes comme moi, vous en avez peut-être légèrement marre de taper la ligne de commande de connexion :
ssh username@monhostquiestparfoisuneadresseIPcompliquee
Ou pire s’il faut préciser une clef DSA ou RSA :
ssh -i cheminversmaclefengeneralpastrescourt/maclef username@monhostquiestparfoisuneadresseIPcompliquee
Continuer la lecture

Bosser chez Google

Publié dans Geekeries | 2 commentaires

Google !
Vu tous les (projets de) rachats d’entreprises effectués par Google ces derniers temps, je me dis qu’il y a deux solutions pour bosser là bas :

  • Réussir tous ses entretiens d’embauche chez Google (vu les questions posées, c’est mal barré !)
  • Faire partie d’une boîte innovante et à la pointe, touchant à la gestion ou l’analyse de données (le multimédia c’est à la mode !), et qui ne serait, si possible, pas mécontente d’être rachetée.

La deuxième méthode est presque plus grisante, non

Edit : Petit résumé des achats estivales de Google sur Zorgloob : Liste de shopping Google

Tester l’égalité de 2 variables sous Maven

Publié dans Java | Laisser un commentaire

Instinctivement pour tester l’égalité de deux variables sous Maven, moi j’écrirai :

<j:if test="${var1 == var2}">
	<echo message="var1 égale var2" />
</j:if>

Mais visiblement sous Maven, ça ne marche pas comme ça ! Le code suivant renverra un résultat pour le moins aléatoire. Du coup, en réfléchissant et en parcourant la Toile (qui est très pingre à ce sujet), je me suis mis à écrire :
Continuer la lecture

Logo OpenSSL

Lister, ajouter, modifier, supprimer des variables d’environnement sous Windows

Publié dans Geekeries | 10 commentaires

Comme tous les OS (à ma connaissance), Windows possède des variables d’environnement qui sont accessibles pour tout le système. Par exemple : USERNAME contient le nom du user connecté, COMPUTERNAME contient le nom de l’ordi, OS le nom de l’OS.

Lister les variables d’environnement

Dans une console Windows (Menu démarrer > Excécuter > cmd), il suffit de taper set pour voir la liste des variables d’environnement actuelle.
Donc, le code ci-dessous :

set

Affiche par exemple :
Continuer la lecture