public void GetTokenTest() { var v = ""; var models = new GetTokenModel.Input(); models.OpMid = "aaaa1bbbb2cccc3dddd4eeee5ffff6ee"; models.CardNo = "7413159981000227"; models.CallTime = DateTime.Now.ToString("yyyyMMddhhmmss"); models.MachineID = "Machine0001"; models.Mask = models.GetInMask(); v = JsonConvert.SerializeObject(models); var controller = new SecurityController(); var result = controller.GetToken(AesUtility.Encrypt(v)); result = result.AesDecrypt(); var resultObj = result.FromJson <ApiResult>(); if (resultObj.ErrorCode == "000") { Assert.IsTrue(true, "errorCode為000"); } Assert.IsFalse(true, resultObj.ErrorMessage); }
public void EncryptAndDecrypt() { var inputList = new List <string>(); inputList.Add("test123456789"); inputList.Add("abcdefg"); inputList.Add(Guid.NewGuid().ToString("N") + DateTime.Now.ToString("yyyyMMddhhmmss")); inputList.Add(Guid.NewGuid().ToString("N") + DateTime.Now.ToString("yyyyMMddhhmmss")); foreach (var item in inputList) { var encrypt = AesUtility.Encrypt(item); var decrypt = AesUtility.Decrypt(encrypt); var actual = item; var expected = decrypt; Assert.AreEqual(expected, actual); } }
protected bool HandlePreviewToken() { bool result = false; if (qsPreview == null) { return(false); } if (qsPreview == "1") { // redirect to back-stage to get authorization string websiteUrl = ConfigurationManager.AppSettings["WebsiteUrl"]; string backendSsoAuthenticatorUrl = ConfigurationManager.AppSettings["BackendSsoAuthenticatorUrl"]; if (string.IsNullOrEmpty(backendSsoAuthenticatorUrl)) { logger.Error("Invalid AppSettings/BackendSsoAuthenticatorUrl"); return(false); } string valueInToken = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); string token = AesUtility.Encrypt(valueInToken, aesKeyOfFP, basicIV); string location = websiteUrl + "/" + Request.AppRelativeCurrentExecutionFilePath.Replace("~/", ""); string url = StringUtility.SetParaValueInUrl(backendSsoAuthenticatorUrl, "token", Server.UrlEncode(token)); url = StringUtility.SetParaValueInUrl(url, "location", Server.UrlEncode(location)); url = AppendCurrentQueryString(url); Response.Redirect(url); } else { try { // decrypt token string valueInToken = AesUtility.Decrypt(qsPreview, aesKeyOfBP, basicIV); PreviewArticle previewArticle = JsonConvert.DeserializeObject <PreviewArticle>(valueInToken); if (!string.IsNullOrEmpty(previewArticle.EmpAccount)) { if (DateTime.Now <= previewArticle.ValidTime) { articleData.ArticleId = new Guid(previewArticle.ArticleId); result = true; isPreviewMode = true; logger.DebugFormat("{0} previews {1} (id:[{2}])(lang:{3}).", previewArticle.EmpAccount, Request.AppRelativeCurrentExecutionFilePath, previewArticle.ArticleId, qsLangNo); } else { logger.InfoFormat("{0} previews {1} but exceed valid time.", previewArticle.EmpAccount, Request.AppRelativeCurrentExecutionFilePath); } } else { logger.InfoFormat("user previews {0} but not logged in.", Request.AppRelativeCurrentExecutionFilePath); } } catch (Exception ex) { logger.Error("", ex); } } return(result); }