isencrypt(3G) 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, sizet ninbuf);
DESCRIPTION
isencrypt() can be used to determine whether a buffer of characters is
encrypted.
isencrypt() assumes that the file is not encrypted if all the charac-
ters in the first block are ASCII characters. If there are non-ASCII
characters in the first ninbuf characters, and if the setlocale
LCCTYPE category is set to C or ascii, the buffer is not encrypted.
If the LCCTYPE category is set to a value other than C or ascii, then
isencrypt() uses a heuristic to determine if the buffer is encrypted.
If the buffer 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.
RESULT
If the buffer is encrypted, 1 is returned; otherwise 0 is returned.
SEE ALSO
setlocale(3C).
Page 1 Reliant UNIX 5.44 Printed 11/98