Пример #1
0
        /// <summary>
        /// 解密指定的数据(文本,UTF8编码)。
        /// </summary>
        /// <param name="text">需要解密的文本。</param>
        /// <param name="key">key。</param>
        /// <param name="vector">vector。</param>
        /// <returns>返回解密后的数据。</returns>
        public static string Decrypt(string text, string key, string vector)
        {
            if (string.IsNullOrEmpty(text))
            {
                return(text);
            }
            if (text.Length % 2 != 0)
            {
                CommonException.ThrowArgument("text");
            }
            //throw new EncryptTextNotSymmetryException();

            //byte[] array = new byte[text.Length / 2];
            //for (int i = 0, j = 0; i < text.Length; i += 2, j++) {
            //    array[j] = byte.Parse(text.Substring(i, 2), System.Globalization.NumberStyles.AllowHexSpecifier);
            //}
            byte[] bResult = Decrypt(ByteExtensions.HexToBytes(text), key, vector);
            return(System.Text.Encoding.UTF8.GetString(bResult));
        }