New Salt Value Functionality

The original Base Provider was designed such that every 40-bit symmetric key created has 11 bytes of zero-value salt (nonzero if CRYPT_CREATE_SALT is specified). This can be a problem, because a 40-bit symmetric key with a zero-value salt is not equivalent to a 40-bit symmetric key without salt. For interoperability, it may be necessary to specify that a key without salt be used.

It should be noted that this problem results from a default condition that occurs only with keys of exactly 40 bits. Any other key length does not have salt allocated by default.