Checksum via FTP???

Richard Gaskin ambassador at
Sun Sep 11 15:48:55 EDT 2011

Roger Eller wrote:

> On Sun, Sep 11, 2011 at 2:22 PM, Richard Gaskin wrote:
>> Databases are handy for working with very large data stores, esp. where you
>> need relationality but for simple things like a checksum value for a file,
>> Mark Weider's suggestion is probably the simplest and most efficient, to
>> just store a checksum file with the actual file,
> Richard, would you have the same reservations about database usage overhead
> if a standalone or revlet were used as the client?  There are over 100,000
> files pre-existing, so an initial creation of a server-side md5digest for
> every file would be a challenge in itself.  How about a standalone which
> lives on the server-side (always running - kinda cgi-like) which accepts
> requests for a files md5digest and returns that string to the client
> standalone/revlet before starting the download.

If the checksums are pre-calculated I don't know that it would make much 
practical difference either way.  With so many files in that directory, 
offhand I see no practical detriment with adding a few thousand more. ;)

You might see a minor performance improvement if you split the files 
into sub-directories of <32k files each, but I'm not sure it would 
amount to much.

If the values are to be calculated on the fly then a DB may not help 
much anyway.  Writing a CGI to do that on demand would be a snap, 
provided the files are of a reasonable size to be loaded into RAM and 
run through md5Digest (or sha1Digest, which is said to be theoretically 
slightly more reliable).

I believe there's a limit to the size of files that can be run through 
LiveCode's checksum functions - anyone here know what that limit is offhand?

If your file sizes exceed LC's limit you could use a shell call for that 
from your CGI.

  Richard Gaskin
  Fourth World
  LiveCode training and consulting:
  Webzine for LiveCode developers:
  LiveCode Journal blog:

More information about the Use-livecode mailing list