static void Main(string[] args) { Console.Read(); HttpPost.send(); return; string salt = ""; string textNormal = "hola_"; string textEncrip = ""; salt = Guid.NewGuid().ToString(); textEncrip = RijndaelManagedEncryption.EncryptRijndael(textNormal, salt); textNormal = RijndaelManagedEncryption.DecryptRijndael(textEncrip, salt); Console.WriteLine("---------------------------------------"); Console.WriteLine("salt:" + salt); Console.WriteLine("textEncrip:" + textEncrip); Console.WriteLine("textNormal:" + textNormal); Console.WriteLine("---------------------------------------"); Console.WriteLine("Usando AESAlgorithm:"); textEncrip = AESAlgorithm.Encrypt(textNormal); //string otherTextEncript = AESAlgorithm.Encrypt("hola_"); Console.WriteLine("textNormal:" + textNormal); Console.WriteLine("textEncrip:" + textEncrip); Console.WriteLine("textDecrip:" + AESAlgorithm.Decrypt(textEncrip)); // Error padding code Base64 erroneo a proposito Console.WriteLine("textDecrip2:" + AESAlgorithm.Decrypt("pw7qE1E4o6/1QAKSPv8Jwg==")); Console.Read(); }
public async Task <Result> PreTest([FromBody] PreTestPatams testPatams) { try { var sw = Stopwatch.StartNew(); var appinfo = _appService.GetAppCache(testPatams.AppKey); if (appinfo == null) { return new Result { Status = false, Message = TaskResultStatus.AppKeyError.ToString() } } ; var json = AESAlgorithm.Decrypt(testPatams.PreData, appinfo.AppSecret); //var p= _serializer.Deserialize<PreTestModel>(json); // var dto = p.MapTo<PreTestDto>(); var dto = new PreTestDto(); var pArr = json.Split("&", StringSplitOptions.RemoveEmptyEntries); dto.AppKey = pArr[0]; dto.AppSecret = pArr[1]; dto.MerchantNo = pArr[2]; var rlt = await _preTestService.PreTest(dto); sw.Stop(); Logger.Info($"pretest time:{sw.ElapsedMilliseconds}"); return(rlt); } catch (Exception ex) { Logger.Error("预验失败", ex); return(new Result { Status = false }); } }
/// <summary> /// "phoneNum": "17621826129" //"operatorType": "CT" /// </summary> /// <param name="params"></param> /// <returns></returns> public async Task <RespResult> GetMobile(Params @params) { try { var nonce = _guid.Create().ToString("N"); var dateTime = DateTimeOffset.UtcNow; var timeStamp = DateTimeOffset.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ"); var appInfo = ObjectContainer.Resolve <IAppService>().GetAppCache(@params.AppKey); var dataContent = AESAlgorithm.Decrypt(@params.DataContent, appInfo.MessageSecret); @params.DataContent = AESAlgorithm.Encrypt(dataContent, appInfo.MsgSecret); var url = _config.GetValue("OneKeyLogin:Url", "https://feiyan.xinyan-ai.com/ocl/oclOrder/v1/getMobile"); var respResult = await Send(@params, nonce, timeStamp, appInfo, url); if (!respResult.success) { return(respResult); } var cmd = new SendCompleteCommand(); CreateCompleteCommand(@params, nonce, dateTime, appInfo, respResult, cmd); //计费 await Balance(appInfo); //redis await _redisHelper.StringIncrementAsync(RedisKeyName.CreateUserAmountKey(appInfo.UserId), -1); var entity = new ExpenseDetailEntity(); CreateEntity(cmd, entity); //交易明细写数据库 await ExpenseDetail(appInfo, entity); //await _mediator.Publish(cmd); return(respResult); } catch (Exception ex) { Logger.Error("GetMobile:", ex); Logger.Error($"json:{Serializer.Serialize(@params)}"); return(new RespResult { errorCode = TaskResultStatus.SystemError.ToString(), errorMsg = "系统错误", result = null, success = false }); } }
public async Task <Result> PreTest(PreTestDto dto) { try { var appInfo = _appService.GetAppCache(dto.AppKey); if (appInfo == null) { return new Result { Status = false, Message = TaskResultStatus.AppKeyError.ToString() } } ; if (!VerifTimeStamp(dto.TimeStamp)) { return(await Task.FromResult(new Result { Status = false, Message = TaskResultStatus.TimeStampError.ToString() })); } var md5 = Hx.Security.Md5Getter.Get($"{appInfo.Id}{appInfo.AppSecret}{dto.TimeStamp}{appInfo.UserId}"); if (!dto.Signature.ToLower().Equals(md5.ToLower())) { return new Result { Status = false, Message = TaskResultStatus.PreSignatureError.ToString() } } ; //验证余额 var ver = await VerifiedBalance(appInfo); if (!ver.Status) { return(ver); } var dataContent = AESAlgorithm.Decrypt(dto.DataContent, appInfo.AppSecret); if (string.IsNullOrWhiteSpace(dataContent)) { return new Result { Status = false, Message = TaskResultStatus.TokenError.ToString() } } ; //计费 await Balance(appInfo); //redis await _redisHelper.StringIncrementAsync(RedisKeyName.CreateUserAmountKey(appInfo.UserId), -1); //计费明细写数据库 await BillingDetails(appInfo, dataContent); return(new Result { Status = true, Message = TaskResultStatus.OK.ToString() }); } catch (Exception ex) { Logger.Error($"PreTest error:{ex},dto:{Serializer.Serialize(dto)}"); return(new Result { Status = false, Message = TaskResultStatus.SystemError.ToString() }); } }