Как получить БАЙТ из байтэ? - PullRequest
1 голос
/ 03 мая 2020

В расширении для postgresql я шифрую char*, получаю буфер BYTE, записываю его в файл и возвращаю как bytea* через PG_RETURN_BYTEA_P. Когда я пытаюсь прочитать то же самое через bytea* b = PG_GETARG_BYTEA_P, чтение не совпадает с тем, что я записал в файл. Как правильно прочитать bytea, получить BYTE и снова расшифровать? Все в C.

Часть кода:

FILE* log = AllocateFile("C:\\pg\\log.txt", PG_BINARY_A);

    //get data to decrypt
    bytea* dataToDecrypt = PG_GETARG_BYTEA_P(0);
    FILE* tempFile = AllocateFile("C:\\pg\\file1.txt", PG_BINARY_A);
    fwrite(dataToDecrypt, sizeof(dataToDecrypt), 1, tempFile);
    FreeFile(tempFile);

Я поместил данные в file1, чтобы использовать пример от Microsoft. Далее все как в примере https://docs.microsoft.com/en-us/windows/win32/seccrypto/example-c-program-decrypting-a-file В конце концов:

FreeFile(log);
PG_RETURN_BYTEA_P(pbBuffer);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...