Как уже отвечали другие, они отлично работают для строк. Зашифрованные данные не могут рассматриваться как строки.
Тем не менее, есть аспект использования любой C библиотечной функции во встроенных системах, особенно во встроенных системах реального времени с высокой степенью целостности, таких как автомобильная / медицинская / авионика и т. Д. В таких проектах кодирование будет использоваться стандарт, такой как MISRA-C.
Подавляющее большинство библиотек C, вероятно, несовместимы с вашим стандартом кодирования. И даже если у вас есть возможность (по крайней мере, в MISRA-C) вносить отклонения, вам все равно придется проверять всю библиотеку. Например, вам нужно будет проверить весь string.h только потому, что вы использовали strlen (). Обычной практикой в таких системах является написание всех функций самостоятельно, особенно простых, таких как strlen (), которые вы можете написать самостоятельно за минуту.
Но большинство встраиваемых систем не предъявляют столь высоких требований к качеству и безопасности, и функции библиотеки предпочтительнее. В частности, memcpy () и аналогичные функции поиска / сортировки / перемещения, которые, вероятно, будут сильно оптимизированы компилятором.