public async Task <IActionResult> Surl(string fraseB64) { var b64 = System.Convert.FromBase64String(fraseB64); var frase = Util.TextUtilities.Unzip(b64); var existente = await StorageClient.GetShortFor(frase); if (existente != null) { return(Json(existente)); } var dtNow = DateTime.UtcNow; var dtOrigin = new DateTime(1986, 8, 1); var diff = dtNow - dtOrigin; var diffmsec = BitConverter.GetBytes((uint)Math.Round(diff.TotalMilliseconds)).Reverse().ToArray(); var sversion = new Base62.Base62Converter().Encode(System.Convert.ToBase64String(diffmsec)); _memoryCache.Set($"surl_{sversion}", b64, TimeSpan.FromHours(1)); return(Json(sversion)); }