Problème de date

Problème de date - C++ - Programmation

Marsh Posté le 07-07-2008 à 16:18:09    

Bonjour,
 
Mon problème est le suivant.
Je stocke une date quelque part, par exemple la derniere date d'utilisation d'un logiciel (date heure)
Et ensuite je veux comparer avec une date de reference (date de fin d'utilisation du logiciel par exemple)
 
Le probleme c'est si la date est modifiée par l'utilissateur
 
Comment on peut gérer ça en, C++ .NET ?
 
Est-t-il possible de récupérer une date sans tenir compte de la date au sens humain du terme ?
Une date universelle en quelque sorte qui ne bouge pas ou qu'on soit dans le monde quelque soit le PC ?
 
 

Reply

Marsh Posté le 07-07-2008 à 16:18:09   

Reply

Marsh Posté le 07-07-2008 à 19:34:00    

Si j'ai bien compris le problème, ce que tu cherche a faire c'est d'empêcher l'utilisateur de modifier les différentes dates.  
A mon avis une solution pourrai consister à utiliser un mécanisme de clé publique et clé privé pour certifier les dates que tu stockes.
 
Une lib pour ça, je dirai OpenSSL mais il y en a surement d'autres


Message édité par Amonchakai le 07-07-2008 à 19:34:24
Reply

Marsh Posté le 07-07-2008 à 21:28:51    

c'est pour gérer une licence ? et tu veux gérer le cas du cinglé qui changera la date de son pc pour continuer à utiliser ?

Reply

Marsh Posté le 09-07-2008 à 09:23:01    

Taz :
Oui c'est exactement ça
 
Parce que si je fais pas ça, ça veux dire que il faut que je gère le compteur du nombre de jour entre la date de fin et de début
 
donc que je regarde la date au démarrage
Que ej compare à la date du dernier arrête
 
que j'ajoute le nombre de jours écoulés
Et que je surveille que l'utilisateur change la date pour compter à partir d'une autre date
bref c'est chiant  
 
Sachant que l'utilisateur n'a pas accés à Windows
et que l'application a laquelle il a acces lui donne la possibilité de modifier la date ( donc je peux savoir quand la date est changée facilemetn c pas un probleme
 
Mais si y avait un moyen de juste recuperer une date universelle ben ca serait plus simple :p
 
 
 
 
 

Reply

Marsh Posté le 09-07-2008 à 09:24:20    

Amonchakai :
 
non non je veux pas spécialement l'empecher de modifier les dates
de toute facon l'application lui donne la possibilité de modifier la date (voir reponse à taz au dessus pour le reste )
 
 
 

Reply

Marsh Posté le 09-07-2008 à 16:38:34    

la date universelle c'est la date GMT (ou UTC)
tu l'obtient par exemple avec :
 

Code :
  1. SYSTEMTIME st;
  2. GetSystemTime(&st);


 
ou si ton système n'est jamais arrêté tu peux connaitre le temps écoulé avec :

Code :
  1. DWORD dwTC = GetTickCount();


 
qui te retourne un nombre de millisecondes
 
mais bon, s'il peut changer la date de la machine ... et si tu n'es pas en réseau (pour aller la chercher ailleurs) je ne sais pas si çà sera jouable


Message édité par Malkav le 09-07-2008 à 16:39:56
Reply

Marsh Posté le 10-07-2008 à 10:53:44    

Oui
 
J'ai pas fait de tests
 
Mais je pense que le truc renvoyé avec la fonction sus nommée dépend de l'heure du PC :(
 
Donc en gros y a pas de solutions reellement
 
Ils font comment pour avoir des dates limites d'utilisations generalement ? ( a part chez microsoft car eux on peut changer pour que que ca marche . .. ... )

Reply

Marsh Posté le 10-07-2008 à 10:54:48    

la seule solution que je vois, c'est de gerer un compteur de jours d'utilisations en le remettant a jour a chaque fois que la date change pour me recaler pour les calculs . .. ...
Mais ca a l'air bien saoulant a faire

Reply

Marsh Posté le 23-07-2008 à 11:31:29    

des idees autres par hasard ou par experience ? :p
 

Reply

Marsh Posté le 28-07-2008 à 17:08:56    

cppisevil a écrit :

Oui
 
J'ai pas fait de tests
 
Mais je pense que le truc renvoyé avec la fonction sus nommée dépend de l'heure du PC :(
 
Donc en gros y a pas de solutions reellement
 
Ils font comment pour avoir des dates limites d'utilisations generalement ? ( a part chez microsoft car eux on peut changer pour que que ca marche . .. ... )


en même temps sur un PC que l'on peut bricoler je ne vois pas comment tu peux avoir une date absolue... elle dépend fatalement de celle du BIOS dans le meilleur des cas. Je ne vois qu'une date obtenue via le réseau pour avoir une référence fiable (si la source est fiable évidemment).  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed