コード例 #1
0
 private bool ValidAuthState(string state, out long id, out string authState)
 {
     id        = 0;
     authState = null;
     try
     {
         var data = MD5Helper.ConvertStringToByte(state);
         data = TripleDESHelper.Decrypt(data, this._appSettings.GetTripleDESKeyData(), null, CipherMode.ECB, PaddingMode.PKCS7);
         var origStr = Encoding.UTF8.GetString(data);
         if (!string.IsNullOrWhiteSpace(origStr) && Regex.IsMatch(origStr, @"^\d+_"))
         {
             var idxS = origStr.IndexOf('_');
             var idxE = origStr.LastIndexOf('_');
             id        = long.Parse(origStr.Substring(0, idxS));
             authState = origStr.Substring(idxS + 1, idxE - idxS - 1);
             return(true);
         }
     }
     catch { }
     return(false);
 }