isencrypt(3G) MISC. REFERENCE MANUAL PAGES isencrypt(3G)
NAME
isencrypt - determine whether a character buffer is
encrypted
SYNOPSIS
cc [flag ...] file ... -lgen [library ...]
#include <libgen.h>
int isencrypt (const char *fbuf, size_t ninbuf);
DESCRIPTION
isencrypt uses heuristics to determine whether a buffer of
characters is encrypted. It requires two arguments: a
pointer to an array of characters and the number of charac-
ters in the buffer.
isencrypt assumes that the file is not encrypted if all the
characters in the first block are ASCII characters. If
there are non-ASCII characters in the first ninbuf charac-
ters, isencrypt assumes that the buffer is encrypted if the
setlocale LC_CTYPE category is set to C or ascii.
If the LC_CTYPE category is set to a value other than C or
ascii, then isencrypt uses a combination of heuristics to
determine if the buffer is encrypted. If ninbuf has at
least 64 characters, a chi-square test is used to determine
if the bytes in the buffer have a uniform distribution; and
isencrypt assumes the buffer is encrypted if it does. If
the buffer has less than 64 characters, a check is made for
null characters and a terminating new-line to determine
whether the buffer is encrypted.
DIAGNOSTICS
If the buffer is encrypted, 1 is returned; otherwise zero is
returned.
SEE ALSO
setlocale(3C).
Last change: 1