Re: Trial period for app



Many people limit by how many rows can be stored in the tables, rather than
how long you can use the application for.

Tony Toews has some suggestions about this at
http://www.granite.ab.ca/access/demo.htm

--
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)


"Alex" <Alex@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:7AB5FA89-D2D9-4BF4-AA83-F52718FF3D75@xxxxxxxxxxxxxxxx
Thanks Peter, this application will be sold to the general public and
therefore I'm afraid it would not be a big deal to change the computer
clock
so I was hoping for another workaround.

thanks

--
Alex


"Peter R. Fletcher" wrote:

It is easy enough to save the date of first use either in the Registry
or in a field in a Table and compare it with Now() in startup code,
aborting with a nag message if it is later than 5 days after the date
of first use. What is more difficult is making this hard to bypass. My
suggestion would be that you convert the date/time of first use into a
text string and then encrypt it with two different keys. Save one
encrypted string in the Registry and the other in a Table field. On
subsequent startups, look for and (if found) decrypt the two strings
and compare them with each other and with the current date and time.
If the decrypted forms of the two retrieved values are different, or
if one is found but the other is missing, someone has probably tried
to tamper, and you can take appropriate action. If both are found and
decrypt identically, do the time check as before.

The only "easy" workaround for this sort of protection is deliberately
to set back the computer's clock, but that causes so many other
problems and complications, on a business system, at least, that you
don't need to worry about it much unless you are writing an
application that is only used very rarely - unusual for a database
app.

On Tue, 31 Jan 2006 23:20:28 -0800, "Alex"
<Alex@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:

I am working on an application that will be sold to the general public
as a
runtime. THe client wants people to be able to download the app and
use on a
trial basis for a set period of time (say 5 days), after which they
must buy
or the app locks them out. Any thoughts on the best way to do this?
Would I
just tag/store the first time the app is opened and then calculate the
time
difference? It needs to be something that they can't bypass.

Thanks a bunch

Please respond to the Newsgroup, so that others may benefit from the
exchange.
Peter R. Fletcher



.



Relevant Pages

  • Re: using CipherInputStream
    ... i was trying to encrypt and decrypt a string using CipherOutputStream ... and CipherInputStream as below.I wanted to write the encrypted string ... the decrypted version from that file using CipherInputStream ...
    (comp.lang.java.programmer)
  • using CipherInputStream
    ... i was trying to encrypt and decrypt a string using CipherOutputStream ... and CipherInputStream as below.I wanted to write the encrypted string ... the decrypted version from that file using CipherInputStream ...
    (comp.lang.java.programmer)
  • Re: Byte array to string and back - newbie question
    ... // Create a symmetric algorithm. ... This is done to make encryption more ... // Encrypt a string into a string using a password ... // Decrypt a byte array into a byte array using a key and an IV ...
    (microsoft.public.dotnet.framework.aspnet.security)
  • Re: Encrypt and Decrypt a file using .NET 2.0?
    ... public static string GenerateKey() ... DES des = DES.Create; ... // Distribute this key to the user who will decrypt this file. ... // Get the Key for the file to Encrypt. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: a problem with encryption
    ... >> That way I always get the original data I've encrypted. ... I really don't know a way to know how long the string I send to ... > encrypted data in a byte array trough network stream. ... to decrypt in one call, ...
    (microsoft.public.dotnet.general)