/// <summary> /// 验证签名 /// </summary> /// <param name="requestSign">请求签名</param> /// <param name="signPlain">需要加密字符串</param> /// <param name="time">时间戳</param> /// <param name="secretKey">加密密钥</param> /// <returns>签名是否合法</returns> /// 时间:2016/9/22 10:18 /// 备注: public static bool ValidSign(string requestSign, string signPlain, string time, string secretKey) { if (string.IsNullOrEmpty(time) || string.IsNullOrEmpty(requestSign) || string.IsNullOrEmpty(signPlain)) { return(false); } long _requestTime = 0; DateTime _curDateTime = DateTime.Now; if (long.TryParse(time, out _requestTime)) { string _maxDateTime = _curDateTime.AddMinutes(5).ToString("yyyyMMddHHmmss"); string _minDateTime = _curDateTime.AddMinutes(-5).ToString("yyyyMMddHHmmss"); if (!(long.Parse(_maxDateTime) >= _requestTime && long.Parse(_minDateTime) <= _requestTime)) { return(false); } } else { return(false); } string _serverSign = SHA256Encryptor.Encrypt(secretKey, signPlain); return(string.Compare(_serverSign, requestSign, true) == 0); }
public AccountController() { var encryptor = new SHA256Encryptor(); this.userService = new UserService(encryptor); }