You really need to: a) compile a .dll - encrypting your ASP pages won't stop anyone b) the component can get some information that should be unique to the machine (eg a fully qualified domain name, or ethernet MAC address or similar). You take this information, and generate a hash value, and return it to them as a licence key which they keep on their server. The component, when starting up, performs the same calculation. and compares the output value to the licence file's key value. If they match, then it runs. Obviously, not all your clients are going to like this - see how many people complain about Microsoft's product activation (or Quicken, or Symantec, or any of the other companies that enforce this). Cheers Ken On Fri, 3 Sep 2004 16:19:20 +0930, Craig <cd-ml at aardvark.net.au> wrote: > Thanks for your replies so far. > > I should tell you a bit about what I'm trying to do. > > I have written an ASP script that lists files/folders. I want to encrypt > the script so when I sell the script, they can't see the source-code (it'll > be encrypted). I need some way of stopping them from just copying the ASP > files to any computer they wanted. So I thought if I generated a serial > number based on some ID from the server/computer, that they would then not > be just able to copy it from server to server. If they wanted to copy the > script to another server, they would have to request another serial number. > > I know there's probably a lot of holes in doing it this way, but I've never > had any experience selling any of my scripts.