/// <summary> /// 是否通过谷歌身份验证 /// </summary> /// <param name="keyNumber">服务端约定的10位数字</param> /// <param name="password">用户身份器实时生成的动态密码</param> /// <returns></returns> public static bool Validate(string keyNumber, string password) { if (!Regex.IsMatch(keyNumber, @"^\d{10}$", RegexOptions.IgnoreCase)) { throw new ArgumentException("keyNumber must be 10 length"); } return(GoogleTimeBasedOneTimePassword.IsValid(keyNumber, password)); }
/// <summary> /// 是否通过谷歌身份验证 /// </summary> /// <param name="randomNumber">服务端约定的10位数字</param> /// <param name="password">用户身份器实时生成的动态密码</param> /// <returns></returns> public static bool Validate(int randomNumber, string password) { string origNum = randomNumber.ToString(); if (origNum.Length <= 0) { throw new ArgumentException("randomNumber must be 10 length"); } if (origNum.Length > 10) { origNum = origNum.Substring(0, 10); } else if (origNum.Length < 10) { origNum = origNum.PadLeft(10, '0'); } else { //NOTING } return(GoogleTimeBasedOneTimePassword.IsValid(origNum, password)); }