2011-09-16 4 views
0

J'ai une application serveur acceptant la connexion par plusieurs instances/utilisateurs d'une application client, via une connexion Internet/socket. Les noms d'utilisateur et les mots de passe seront enregistrés dans une base de données sur le serveur. Mais comment puis-je les sauvegarder en toute sécurité? Et comment l'authentification et l'envoi du nom d'utilisateur/mot de passe du client peuvent-ils être effectués en toute sécurité? Actuellement, j'envoie tout en chaînes de texte.Comment enregistrer en toute sécurité et envoyer le nom d'utilisateur/mot de passe de connexion?

Il y aura des flux de données (financiers, prix des actions) entre le serveur/client, mais ces données ne sont pas critiques, donc je ne vois pas vraiment le besoin de sécuriser cela.

Répondre

0

Vous devez faire https pour la transaction et stocker le mot de passe à l'aide du hachage SHA-1 et du sel.

http://en.wikipedia.org/wiki/Salt_%28cryptography%29

Ajouter quelques exemples:

http://www.obviex.com/samples/hash.aspx

http://www.aspheute.com/english/20040105.asp

http://csharptest.net/?p=470

+0

Autrement dit, (Clarification) ne stockez pas les mots de passe du tout, stockez seulement un hachage du mot de passe. –

+0

Merci! Serai-je toujours capable d'afficher et de définir/modifier le mot de passe, en tant qu'administrateur de l'application serveur? – bretddog

+0

Oui, mais vous ne pouvez pas récupérer le mot de passe de l'utilisateur, vous ne pouvez le réinitialiser :) – ykatchou

1

Vous pourriez

  • magasin un hachage du mot de passe avec du sel dans la base
  • connecter le client au serveur en utilisant ssl (au moins pour l'opération de connexion)
Questions connexes