예제 #1
0
 public static TokenModel ParseToken(string token)
 {
     try
     {
         var  encryptedBytes = BasicEncryption.Base64DecodeUrlSafe(token);
         var  decryptedBytes = BasicEncryption.DecryptBytesFromBytes_Aes(encryptedBytes);
         int  loginId        = BitConverter.ToInt32(decryptedBytes, 0);
         long ticks          = BitConverter.ToInt64(decryptedBytes, sizeof(int));
         bool oneTimeUse     = BitConverter.ToBoolean(decryptedBytes, sizeof(int) + sizeof(long) + 16);
         return(new TokenModel
         {
             ObjectId = loginId,
             Ticks = ticks,
             IsOneTimeUse = oneTimeUse
         });
     }
     catch (Exception)
     {
         return(null);
     }
 }