|
|
cc [flag . . . ] file . . . -lgen [library] . . .#include <libgen.h>
int isencrypt (const char fbuf, size_t ninbuf);
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 characters, 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.