示例#1
0
        /// <summary>
        /// 解密字符串(失败返回空)
        /// </summary>
        /// <param name="DecryptString">待解密字符串</param>
        /// <param name="Mode">加密模式</param>
        /// <returns></returns>
        public static string Decode(string DecryptString, EncryptMode Mode)
        {
            string ReturnString = "";

            if (Mode == EncryptMode.Cipher)
            {
                return(ReturnString);
            }

            List <EncryptInfo> EncryptList = EncryptConfigs.GetConfig().EncryptInfo;

            try {
                foreach (EncryptInfo el in EncryptList)
                {
                    EncryptMode TempMode = Utils.GetEnum <EncryptMode>(el.EncryptName.Trim(), EncryptMode.Default);

                    if (Mode.Equals(TempMode))
                    {
                        ReturnString = DecryptString;

                        //反向解密
                        for (int i = el.EncryptType.Count - 1; i >= 0; i--)
                        {
                            EncryptType ei = el.EncryptType[i];

                            switch (ei.Type)
                            {
                            case EncryptEnum.AES:
                                ReturnString = AES.Decode(ReturnString, ei.Key);
                                break;

                            case EncryptEnum.DES:
                                ReturnString = DES.Decode(ReturnString, ei.Key);
                                break;

                            default:
                                break;
                            }
                        }

                        break;
                    }
                }
            }
            catch { ReturnString = ""; }

            return(ReturnString);
        }
示例#2
0
        /// <summary>
        /// 加密字符串(失败返回空)
        /// </summary>
        /// <param name="EncryptString">待加密字符串</param>
        /// <param name="Mode">加密模式</param>
        /// <returns></returns>
        public static string Encode(string EncryptString, EncryptMode Mode)
        {
            string             ReturnString = "";
            List <EncryptInfo> EncryptList  = EncryptConfigs.GetConfig().EncryptInfo;

            try {
                foreach (EncryptInfo el in EncryptList)
                {
                    EncryptMode TempMode = Utils.GetEnum <EncryptMode>(el.EncryptName.Trim(), EncryptMode.Default);

                    if (Mode.Equals(TempMode))
                    {
                        ReturnString = EncryptString;

                        //正向加密
                        foreach (EncryptType ei in el.EncryptType)
                        {
                            switch (ei.Type)
                            {
                            case EncryptEnum.AES:
                                ReturnString = AES.Encode(ReturnString, ei.Key);
                                break;

                            case EncryptEnum.DES:
                                ReturnString = DES.Encode(ReturnString, ei.Key);
                                break;

                            case EncryptEnum.MD5:
                                ReturnString = MD5.Encode(ReturnString);
                                break;

                            default:
                                break;
                            }
                        }
                        break;
                    }
                }
            }
            catch { ReturnString = ""; }

            return(ReturnString);
        }