A segunda opção é mais segura.
Seu método, não fornece nenhuma integridade da mensagem. Isso significa que um invasor pode modificar partes do texto cifrado e alterar para o que o texto simples descriptografa. Desde que eles não modifiquem nada que altere sua assinatura estática de 32 bits, você confiará nela. O HMAC no segundo método fornece integridade da mensagem.
Ao hash a chave 8192 vezes, ele adiciona etapas computacionais extras para alguém tentar e fortalecer a chave. Suponha que um usuário escolha uma senha baseada no dicionário. Com o seu método, um invasor deve executar SHA256(someguess)
E então tente descriptografar. No entanto, com a versão PolarsSL, eles terão que calcular SHA256(SHA256(SHA256...(SHA256(someguess)))
por 8192 vezes. Isso só diminuirá um atacante, mas pode ser suficiente (por enquanto).
Pelo que vale a pena, use uma biblioteca existente. A criptografia é difícil e é propensa a erros sutis.