Вообщем попробовал. Всё правильно - по умолчанию DES 56 + 12bit salt. Опций для использования более стойких шифров посредством MySQL я не увидел.
Для полноты ответа добавлю:
1. Ключ - данные переданные в MySQL encrypt(). Но только первые 8 байт. Из каждого используются нижние 7 бит. 8 * 7 = 56 бит.
2. Шифруемые данные - нули
3. Соль - рандомно выбирается MySQL-ом. Два байта из (а-z,A-Z,0-9,./). 64 возможных символа дважды - 64^2 = 4096 = 2^12 = 12 бит.
#define _XOPEN_SOURCE /* See feature_test_macros(7) */
#include <unistd.h>
#include <stdio.h>
void main() {
const char* salt = "Vx";
const char* key = "hello";
//expecting: VxuFAJXVARROc
printf("crypt: %s\n", crypt(key,salt));
}
$ gcc main.c -lcrypt
$ ./a.out
crypt: VxuFAJXVARROc