Encrypt secret with AES 256 GCM using password and iv.
If iv is not provided, a random IV will be generated using getIV.
The returned Uint8List is the concatenation of the IV and the secret.
Generates a random IV (Initialization Vector) for AES 256 GCM.
Initialization Vector: 16 bytes to make each encryption unique.
IV will be included at the beginning of the encrypted message to be able
to decrypt it.