2010-09-24 6 views
0

Mon programme nécessite un mot de passe pour ouvrir certaines fonctionnalités. Le mot de passe peut être défini par un administrateur. Mon application stocke le mot de passe dans un fichier. Mais, si le fichier a été supprimé ou endommagé, l'application perd le mot de passe. Un autre scénario est que si le fichier a été remplacé par le fichier original, le mot de passe sera vide. Des suggestions sur le stockage d'un mot de passe dans un fichier?Comment stocker en toute sécurité un mot de passe dans un fichier?

modifié: Mon application a une caractéristique. La fonctionnalité est protégée par un mot de passe qui peut être défini par un administrateur (propriétaire du PC). L'invité doit entrer un mot de passe pour désactiver cette fonctionnalité. OS: Windows

Répondre

0

Vous ne pouvez pas protéger le fichier contre la suppression. Dans ce cas, n'autorisez aucun utilisateur à se connecter à votre application (même chose si le mot de passe est vide).

Si vous stockez les mots de passe dans un fichier (ou ailleurs), vous devez les hacher (par exemple, en utilisant md5 ou sha1). Donc, ils ne peuvent pas être lus en clair. Pour vérifier le mot de passe lors de la connexion le faire (exemple de base en php):

$password = file_get_contents('password.file'); // Outside webroot of course 
if(md5($_POST['password']) == $password) { 
    // Login OK 
} 
0

Quel genre de programme? Quelle plateforme ? Windows, mac, linux, android?

Les fichiers peuvent toujours être supprimés ou remplacés, d'une manière ou d'une autre. Vous pouvez le mettre quelque part "plus sûr" où l'utilisateur ne peut pas le trouver facilement, mais si cela dépend de la plate-forme.

+0

La sécurité par l'obscurité (http://en.wikipedia.org/wiki/Security_through_obscurity) ne vaut rien. – halfdan

+0

Bien sûr, il aura besoin de md5 le mot de passe. Ce que je veux dire, c'est que les utilisateurs peuvent supprimer des choses qui se trouvent dans "Mes documents" par rarement dans "Données de l'application" (sur Windows). –

+0

J'ai mis à jour mon message. Par exemple, j'ai installé un antivirus, il a un menu de configuration pour protéger les modifications non autorisées par l'utilisateur. Si l'utilisateur veut désactiver la protection, il doit entrer le mot de passe. C'est le schéma que je veux réaliser – user