Beispiel #1
0
        /// <summary>
        /// 解密
        /// </summary>
        /// <param name="str">密串</param>
        /// <returns></returns>
        public string Decrypt(string str)
        {
            var parseKey   = string.Empty;
            var ciphertext = GetParse(str, out parseKey);

            if (parseKey.IsNullOrWhiteSpace() || ciphertext.IsNullOrWhiteSpace())
            {
                return(string.Empty);
            }
            ciphertext = ciphertext.Replace("_", "+").Replace("-", "/").Replace("*", "=");
            //随机6位密码+附加码
            var aesKey = "{0}{1}".FormatStr(parseKey, _KeyAppendCode).MD5().ToLower();
            //解密操作
            var plaintext = AESEncrypt.AesDecrypt(ciphertext, secretKey: aesKey, vectorStr: _AESVector);

            return(plaintext);
        }