Второй вариант более безопасен.
Ваш метод не предоставляет никакой целостности сообщения. Это означает, что злоумышленник может изменить части зашифрованного текста и изменить то, к чему расширяется простой текст. Пока они не изменяют ничего, что изменит вашу 32-разрядную статическую подпись, вы доверяете ей. HMAC на втором методе обеспечивает целостность сообщения.
Хэшируя ключ 8192 раз, он добавляет дополнительные вычислительные шаги, чтобы кто -то попытался BruteForce ключ. Предположим, что пользователь выберет пароль на основе словаря. С вашим методом должен выполнить злоумышленник SHA256(someguess)
а затем попробуйте расшифровать. Однако с версией PolarsSL им придется рассчитать SHA256(SHA256(SHA256...(SHA256(someguess)))
8192 раз. Это только замедлит злоумышленника, но этого может быть достаточно (пока).
Для того, что это стоит, используйте существующую библиотеку. Криптография сложна и склонна к тонким ошибкам.