Разве выгодней будет присваивать byte[] keyBytes  = key.getBytes(StandardCharsets.UTF_8), а потом уже брать от него длину, вместо двух использований String.getBytes()? Или же существует какое-то еще более разумное решение? :)