Пример #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="encryText"></param>
        /// <param name="secretKey"></param>
        /// <param name="isPadding"></param>
        /// <returns></returns>
        public static String SM4DecryptECBFromBase64(string encryText, string secretKey, bool isPadding = true)
        {
            var keyBytes   = System.Text.Encoding.UTF8.GetBytes((secretKey + "0000000000000000").Substring(0, 16));
            var encryBytes = Helper.Decode(encryText);
            var sm4        = new SM4();
            var plainBytes = sm4.DecryptECB(encryBytes, keyBytes, isPadding);

            return(System.Text.Encoding.UTF8.GetString(plainBytes));
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="plainText"></param>
        /// <param name="secretKey"></param>
        /// <param name="isPadding"></param>
        /// <returns></returns>
        public static String SM4EncryptECBToBase64(string plainText, string secretKey, bool isPadding = true)
        {
            var keyBytes   = System.Text.Encoding.UTF8.GetBytes((secretKey + "0000000000000000").Substring(0, 16));
            var plainBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
            var sm4        = new SM4();
            var encryBytes = sm4.EncryptECB(plainBytes, keyBytes, isPadding);

            return(System.Convert.ToBase64String(encryBytes));
        }
Пример #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="plainText"></param>
        /// <param name="secretKey"></param>
        /// <param name="iv"></param>
        /// <param name="isPadding"></param>
        /// <returns></returns>
        public static String SM4EncryptCBCToHex(string plainText, string secretKey, string iv, bool isPadding = true)
        {
            var ivBytes    = System.Text.Encoding.UTF8.GetBytes((iv + "0000000000000000").Substring(0, 16));
            var keyBytes   = System.Text.Encoding.UTF8.GetBytes((secretKey + "0000000000000000").Substring(0, 16));
            var plainBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
            var sm4        = new SM4();
            var encryBytes = sm4.EncryptCBC(plainBytes, keyBytes, ivBytes, isPadding);

            return(cvt.BytesToHexString(encryBytes));
        }