Esempio n. 1
0
        /// <summary>
        /// sm4解密
        /// </summary>
        /// <param name="text">加密字段</param>
        /// <returns>解密字符串</returns>
        public static string SM4Decrypt(string text)
        {
            if (string.IsNullOrEmpty(text))
            {
                return("");
            }
            int    deoutlen = 0;
            IntPtr deip     = IntPtr.Zero;
            var    deiflg   = SM4EncryptHelper.sm4_decrypt(text, text.Length, out deip, out deoutlen);

            byte[] dearray = new byte[deoutlen];
            Marshal.Copy(deip, dearray, 0, deoutlen);

            var deresult = Encoding.UTF8.GetString(dearray);

            _ = SM4EncryptHelper.sm4_freebuf(out deip);
            return(deresult);
        }