/// <summary>
        /// Decrypts the specified source.
        /// </summary>
        /// <param name="source">The source.</param>
        /// <returns>Plain string.</returns>
        public string Decrypt(string source)
        {
            switch (_cryptoType)
            {
#if !SILVERLIGHT
            case CryptoType.TripleDES:
                return(TripleDESEncryption.Decrypt(source));

            case CryptoType.RSA:
                throw new NotSupportedException("Use RSAEncryption class.");

            case CryptoType.RSATripleDES:
                throw new NotSupportedException("Use RSATripleDESEncryption class.");

            //case CryptoType.BGSWithHex:
            //case CryptoType.BSGWithoutHex:
            //    return _bgsEncryption.DecryptString(source);

            case CryptoType.MD5:
                throw new NotSupportedException("MD5 does not support decrypting.");
#endif
            default:
                return(source);
            }
        }
        /// <summary>
        /// Decrypts the specified source.
        /// </summary>
        /// <param name="source">The source.</param>
        /// <returns>Plain string.</returns>
        public string Decrypt(string source)
        {
            string destination = base.Decrypt(source);

            return(TripleDESEncryption.Decrypt(destination));
        }