When overridden in a derived class, generates a random key (SymmetricAlgorithm.Key) to use for the algorithm.
In general, there is no reason to use this method, because CreateEncryptor() or CreateEncryptor(null, null) automatically generates both an initialization vector and a key. However, you may want to use the SymmetricAlgorithm.GenerateKey method to reuse a symmetric algorithm instance with a different key.