> > On Sun, Jun 15, 2008 at 10:56 PM, buyoppy > <[EMAIL PROTECTED]> wrote: > > > I saw a webpage of Solaris's 'isencrypted' > function which > > inspects some data in a buffer is encrypted or not > using > > some algorithm including statistical analysis. But > now I > > cannot find that page on the Internet... > > > Try this implementation, which I have not tested (or > even compiled). > > #include <stdlib.h> > #include <zlib.h> > > enum { > PLANB_BUF_SIZE = 512; > INADEQUATELY_EXPLAINED_MAGIC_NUMBER = 5; > }; > > static int incompressible(const char *inbuf, size_t > len, > char *outbuf, size_t outlen) { > int rv = compress2(outbuf, outlen, inbuf, len, > INADEQUATELY_EXPLAINED_MAGIC_NUMBER); > if (Z_BUF_ERROR == rv) > return 0; /* it grew. */ > else if (Z_MEM_ERROR == rv) > return -1; /* meh, it's a guess. */ > else > return rv > len; > } > > > int isencrypted(const char *buf, size_t len) { > int retval; > char planb_buf[PLANB_BUF_SIZE]; > void *out = malloc(len); > if (out) { > retval = incompressible(buf, len, out, len); > free (out); > return retval; > } else { > return incompressible(buf, PLANB_BUF_SIZE, > planb_buf, PLANB_BUF_SIZE); > } > }
Thanks for your code, which may be useful when I would have miss-erased zip extension of an archive. But I mean 'encrypted' (NOT 'compressed') data. Thanks. -------------------------------------- GANBARE! NIPPON! Chance to win 50,000 Yahoo! Points! http://pr.mail.yahoo.co.jp/ganbare-nippon/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]