Comment mettre en œuvre Triple DES en C# (exemple complet)
Je veux utiliser le triple DES en C# pour le chiffrement/déchiffrement de l' (utf8) les chaînes de caractères avec un (utf8) clé de n'importe quelle longueur.
Je suis à la recherche de ces trois fonctions
public static string Encrypt(string data, string key)
{
...
}
public static string Decrypt(string data, string key)
{
...
}
public static string GenerateKeyFromString(string str)
{
...
}
Remarque: Avant que quelqu'un les liens, les http://www.geekzilla.co.uk/view7B360BD8-A77C-4F1F-BCA0-ACD0F6795F61.htm mise en œuvre ne fonctionne pas, j'ai tout testé.
J'ai fait beaucoup de recherche et a trouvé des morceaux de le problème comme EncryptOneBlock
et les autres, mais je suis à la recherche d'un "pour les nuls" mise en œuvre qui, je pense, serait utile pour les autres aussi.
Merci d'avance!
Quel est le problème avec le lien? Est-il juste qu'il ne s'occupe que des clés de 64 bit? Ne prendra pas beaucoup de modification pour corriger cela.
Êtes-vous essayer de mettre en œuvre l'algorithme de vous-même (à des fins d'apprentissage, je l'espère), ou tout simplement comment le faire avec quelque chose comme
Oui, je l'ai changer mais j'ai trouvé le
Je préfère l'appliquer moi-même, mais serait d'utiliser
Si vous avez besoin de chiffrement choses, alors vous devriez (presque) toujours utiliser un préconstruit essayé et testé peu de code pour faire votre crypto pour vous. Une erreur commise par vous dans le codage, il pourrait signifier que vous en fait, n'ont pas de sécurité du tout.
Êtes-vous essayer de mettre en œuvre l'algorithme de vous-même (à des fins d'apprentissage, je l'espère), ou tout simplement comment le faire avec quelque chose comme
TripleDESCryptoServiceProvider
?Oui, je l'ai changer mais j'ai trouvé le
Decrypt()
fonction serait toujours jeter un System.Security.Cryptography.CryptographicException
.Je préfère l'appliquer moi-même, mais serait d'utiliser
TripleDESCryptoServiceProvider
si recommandé (si il fait gagner du temps).Si vous avez besoin de chiffrement choses, alors vous devriez (presque) toujours utiliser un préconstruit essayé et testé peu de code pour faire votre crypto pour vous. Une erreur commise par vous dans le codage, il pourrait signifier que vous en fait, n'ont pas de sécurité du tout.
OriginalL'auteur James | 2012-07-10
Vous devez vous connecter pour publier un commentaire.
Source complet ici: http://www.codeproject.com/Articles/14150/Encrypt-and-Decrypt-Data-with-C
Chiffrer:
Déchiffrer:
BCE mode ne doit pas être utilisé pour le cryptage des chaînes de caractères. Les mots de passe ne sont pas des chaînes, et de ne la faire qu'une seule MD5 sur la chaîne de ne pas fournir beaucoup de force. Je voudrais au moins faire PBKDF2 et AES avec CBC, PKCS#7, le rembourrage et un aléatoire IV (ajouté le texte chiffré), il est là dans les bibliothèques de toute façon.
Travailler bien la seule chose que je voudrais dire, c'est dans le Déchiffrer méthode, la variable "toEncryptArray" devrait être appelé "toDecryptArray" - oui, très difficile, mais quand vous êtes à la lecture du code, il permet d'éviter la confusion.
j'ai l'exception :
Additional information: The key 'SecurityKey' does not exist in the appSettings configuration section.
sur le code: ` string clé = (string)settingsReader.GetValue('SecurityKey', typeof(String))`que dois-je faire?essayez d'ajouter la clé de la section appSettings de votre .fichier de configuration.
OriginalL'auteur Chris Gessler
Pourquoi ne pas utiliser le .Net Bibliothèque de Cryptographie ,il a DES et Triple DES implémentations. Je suggère de ne pas réinventer la roue et de l'utilisation de la bibliothèque ,Ainsi, si vous avez besoin de pratique et d'aiguiser vos compétences de sa grand pour le déploiement de votre propre mise en œuvre ! 🙂
Source: MSDN
OriginalL'auteur Owais Qureshi
Ici est un exemple complet de copier coller prêt..
OriginalL'auteur TheDev6
OriginalL'auteur Godwin Awojobi