7
votes

Comment générer un hachage de cryptage dans ASP.NET MVC?

Je cherche à créer un système de connexion des membres personnalisés (pour apprendre) et je n'ai pas été capable de comprendre la commande C # pour générer un hachage crypté.

Y a-t-il un certain espace de noms que je dois importer ou quoi que ce soit comme ça?


0 commentaires

4 Réponses :


3
votes

Eh bien, tout d'abord, un hachage de cryptage est une contradiction. Comme un steak végétarien. Vous pouvez utiliser le cryptage ou vous pouvez les hacher (et vous devriez les hacher), mais le hachage n'est pas un cryptage.

Recherchez une classe commençant par MD5;) ou SHA1 - Ce sont des algoryithmes de hachage. C'est tout ce qui existe dans .NET (Espace de noms System.Security.Cryptography).


4 commentaires

Hachage d'un "cryptage à sens unique"


@Charlesburns mais cela ne devrait pas être, car son chiffrement pas. Il n'y a pas de steak végétalien unique


@Deltatango: Vous avez raison, techniquement, le hachage n'est pas en cryptage malgré l'utilisation des mots car il est difficile / impossible-ish d'inverser. Néanmoins, l'utilisation écrit le dictionnaire et je me penche vers une analogie plus d'une compression qu'une analogie de steak. AES est "cryptage sans perte", comme PnG pour les images, tandis que SHA est "sans perte" comme JPG, comprimant les informations jusqu'à une réponse oui (probablement) / pas de réponse. Bien sûr, JPG est inutile s'il "compresse" une photo vers un seul pixel noir / blanc. :)


Le cryptage peut également être utilisé pour le hachage, après une mode. Utilisez les données comme clé propre. C'est là que l'analogie ci-dessus commence vraiment à se séparer, bien que peut-être moins que de steak (peut-être », à l'aide de steak pour nourrir les plantes qui se retrouvent comme un steak végétarien». Cela fait mal un peu à taper.




4
votes

Pour ma part, je but cette fonction que j'utilise pour obtenir l'image Gravatar Profil:

Vous pouvez l'utiliser comme si vous souhaitez P>

public string getGravatarPicture()
    {
        MD5 md5 = new MD5CryptoServiceProvider();
        Byte[] originalBytes = ASCIIEncoding.Default.GetBytes(email.ToLower());
        Byte[] encodedBytes = md5.ComputeHash(originalBytes);

        string hash = BitConverter.ToString(encodedBytes).Replace("-", "").ToLower();
        return "http://www.gravatar.com/avatar/"+hash+"?d=mm";
    }


2 commentaires

Si je fournis le hachage d'origine, pouvons-nous le décoder à sa forme réelle


@Agha, un hachage ne peut pas être "décodé" ni "mal à l'état". Le hachage est un processus à sens unique.