Как предотвратить gcrypt чистый простой текст и зашифрованный текст при вызове gcry_cipher_close?
При использовании gcrypt для целей шифрования, согласно официальной документации, при вызове gcry_cipher_close
наконец, он обнуляет все данные (включая простой текст и зашифрованный текст).
Я прочитал некоторые примеры исходного кода Jin-Yang / examples, он просто использует printf
вывести результат на стандартный вывод.
Однако, когда мне нужно абстрагировать эту работу в функции, которая нравится encrypt_data(unsigned char *encrypt_txt, int *crylen, const unsigned char* plain_txt, const int plnlen, const char *key, int keylen) {...}
необходимо сохранить эти данные после вызова gcry_cipher_close
функция.
Я однажды попытался не звонить gcry_cipher_close
в конце этой функции. Однако я не думал, что это безопасный и красивый код памяти.
Я также попытался записать как обычный, криптованный и ключевой текст во временную переменную. Тем не менее, он был медленнее и казался слишком многословным.
Существует ли стандартный (безопасный, красивый и понятный) способ его реализации? (Этот вопрос о симметричном шифровании, но ответы на асимметричный пример также приветствуются).