コード例 #1
0
ファイル: CryptoHelper.cs プロジェクト: leewk94/AFlex
        public static CryptoResponseModel Decrypt(string input)
        {
            CryptoResponseModel responseModel = new CryptoResponseModel();

            try
            {
                byte[] inputArray = System.Convert.FromBase64String(input);
                TripleDESCryptoServiceProvider tripleDES = new TripleDESCryptoServiceProvider();
                tripleDES.Key     = UTF8Encoding.UTF8.GetBytes(MasterConstant.MASTER_CRYPTOKEY);
                tripleDES.Mode    = CipherMode.ECB;
                tripleDES.Padding = PaddingMode.PKCS7;
                ICryptoTransform cTransform  = tripleDES.CreateDecryptor();
                byte[]           resultArray = cTransform.TransformFinalBlock(inputArray, 0, inputArray.Length);
                tripleDES.Clear();
                return

                    (responseModel = new CryptoResponseModel
                {
                    Status = CryptoStatusCodeEnum.Success,
                    Value = UTF8Encoding.UTF8.GetString(resultArray)
                });
            }
            catch (Exception ex)
            {
                responseModel = new CryptoResponseModel
                {
                    Status  = CryptoStatusCodeEnum.Fail,
                    Message = ex.Message.ToString()
                };
            }
            return(responseModel);
        }
コード例 #2
0
ファイル: MasterDomain.cs プロジェクト: leewk94/AFlex
        public void InsertDBDetailsToTokenFile(DBSetting dbSetting, string serverType, string serverName, string dbName, string filePath)
        {
            List <CustomerTokenModel> acc = new List <CustomerTokenModel>();

            if (CheckAPITokenFile(dbSetting))
            {
                var sTokenPath = GetAPITokenFilePath();

                if (File.Exists(sTokenPath))
                {
                    var text = File.ReadAllText(sTokenPath);

                    CryptoResponseModel descryptResponseModel = Decryption(text);

                    if (descryptResponseModel.Status == CryptoStatusCodeEnum.Success)
                    {
                        acc = JsonConvert.DeserializeObject <List <CustomerTokenModel> >(descryptResponseModel.Value);

                        CustomerTokenModel cust = new CustomerTokenModel
                        {
                            ServerType = serverType,
                            ServerName = serverName,
                            DBName     = dbName,
                        };
                        acc.Add(cust);
                    }
                    else
                    {
                        // insert into log
                    }
                }
                else
                {
                    CustomerTokenModel cust = new CustomerTokenModel
                    {
                        ServerType = serverType,
                        ServerName = serverName,
                        DBName     = dbName,
                    };
                    acc.Add(cust);
                }
            }
            else
            {
                CustomerTokenModel cust = new CustomerTokenModel
                {
                    ServerType = serverType,
                    ServerName = serverName,
                    DBName     = dbName,
                };
                acc.Add(cust);
            }

            string jsontext = JsonConvert.SerializeObject(acc);

            var encryptResponseModel = Encryption(jsontext);

            if (encryptResponseModel.Status == CryptoStatusCodeEnum.Success)
            {
                if (File.Exists(filePath))
                {
                    File.WriteAllText(filePath, encryptResponseModel.Value);
                }
                else
                {
                    FileStream   fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Write);
                    StreamWriter sw = new StreamWriter(fs);
                    sw.BaseStream.Seek(0, SeekOrigin.End);
                    sw.WriteLine(encryptResponseModel.Value);
                    sw.Flush();
                    sw.Close();
                }
            }
            else
            {
                // fail insert into log
            }
        }