Я использую функции Microsoft cryptoApi для шифрования данных. Результат в BYTE*
. После этого я помещаю его в файл и в bytea
поле таблицы tt
.
char* dataToEncrypt = PG_GETARG_CSTRING(0);
//etc
pbBuffer = (BYTE*)malloc(dwBufferLen);
//etc
PG_RETURN_BYTEA_P(pbBuffer);
В файле:
После того, как я пытаюсь прочитать эти данные из таблицы и записать в другой файл:
char s[] = "C:\\pg\\11.txt";
HANDLE hSourceFile = CreateFile(s, /*FILE_READ_DATA*/GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (INVALID_HANDLE_VALUE == hSourceFile)
fprintf(log, "%u %s\n", GetLastError(), "CreateFile s");
// Write the encrypted data to the destination file.
DWORD dwCount = NULL;
DWORD nNumberOfBytesToWrite = sizeof(dataToDecrypt);
fprintf(log, "\n__%d__\n", nNumberOfBytesToWrite);
if (!WriteFile(hSourceFile, dataToDecrypt, nNumberOfBytesToWrite, &dwCount, NULL))
fprintf(log, "%u %s\n", GetLastError(), "WriteFile");
In 11.txt
:
Как мне получить данные от bytea
, чтобы получить тот же результат, что и для cryptoText.txt
? Мое шифрование и дешифрование основано на работе с файлами и правильной записи в этом.
С bytea[]
в поле тот же результат.