Je tire 500 résultats d'une requête de recherche vers un webservice; Je stocke ces dans la session pour cet utilisateur si la pagnation ne provoque pas d'autres appels. Ce que je veux faire est de coller les paramètres ensemble dans une longue chaîne et les hacher ainsi j'ai un hachage rapide pour vérifier.Comment stocker un hachage avec les résultats de la recherche?
en php cela ressemblerait à quelque chose comme ...
<?php
$_SESSION["shash"] = md5($_GET['x'] . $_GET['y'] . $_GET['z']);
?>
Terminé paresseusement de toute façon.
Donc, en C# Je ...
#region Session Check
string sCheckStr = rarREF;
string searchCheck = GetMd5Sum(sCheckStr);
if ((Session["schk"].ToString().Length > 0) && (Session["schk"].ToString() == searchCheck))
{ }
else
{
if (searchResults != null) this.mySess.SessionVariables.SearchResults = null;
Session["schk"] = searchCheck;
}
#endregion
Et apparemment aucun défaut classe MD5 construit donc je l'ai utilisé un autre site hors.
#region MD5 Class
static public string GetMd5Sum(string str)
{
// First we need to convert the string into bytes, which
// means using a text encoder.
Encoder enc = System.Text.Encoding.Unicode.GetEncoder();
// Create a buffer large enough to hold the string
byte[] unicodeText = new byte[str.Length * 2];
enc.GetBytes(str.ToCharArray(), 0, str.Length, unicodeText, 0, true);
// Now that we have a byte array we can ask the CSP to hash it
MD5 md5 = new MD5CryptoServiceProvider();
byte[] result = md5.ComputeHash(unicodeText);
// Build the final string by converting each byte
// into hex and appending it to a StringBuilder
StringBuilder sb = new StringBuilder();
for (int i = 0; i < result.Length; i++)
{
sb.Append(result[i].ToString("X2"));
}
// And return it
return sb.ToString();
}
#endregion
Ce qui ne fonctionne pas correctement. rarRef est dans l'original (public ActionResult Index (chaîne rarREF)) Y at-il un moyen plus rapide, car cela doit être rapide. Est-ce que Base64 l'encoderait?
votre code php n'a pas apparaître ... – Jason
De quelle façon il fonctionne pas « correctement » – djna
@djna: Zut - jus accidentellement battant pavillon votre commentaire au lieu de upvoting il en raison de la navigation mobile et des gros doigts. Pardon! –