J'ai une table dans ma base de données qui contient des données de sénat comme le mot de passe. Je veux crypter les données avant de les insérer dans la table et je ne veux pas déchiffrer les données. sans décryptageFonctions de cryptage C#
Répondre
Si vous n'avez pas besoin de déchiffrer les données dont vous avez réellement besoin, par ex. SHA1 ou des algorithmes similaires fournis par .NET dans l'espace de noms System.Security.Cryptography.
Je vous recommande hashing the passwords with salt et stocke le mot de passe haché et le sel dans la base de données. Il y a aussi un autre article sur ce sujet.
Quelques informations supplémentaires http://stackoverflow.com/questions/1300890/md5-hash-with-salt-for-keeping-password-in-db-in-c – abatishchev
I ont 2 fonctions pour crypter et décrypter des données:
La première fonction est utilisée pour décrypter les données et la seconde celle utilisée pour chiffrer les données.
using System.Security.Cryptography;
using System.Collections.Generic;
using System.ComponentModel;
private static readonly byte[] _key = { 0xA1, 0xF1, 0xA6, 0xBB, 0xA2, 0x5A, 0x37, 0x6F, 0x81, 0x2E, 0x17, 0x41, 0x72, 0x2C, 0x43, 0x27 };
private static readonly byte[] _initVector = { 0xE1, 0xF1, 0xA6, 0xBB, 0xA9, 0x5B, 0x31, 0x2F, 0x81, 0x2E, 0x17, 0x4C, 0xA2, 0x81, 0x53, 0x61 };
private static string Decrypt(string Value)
{
SymmetricAlgorithm mCSP;
ICryptoTransform ct = null;
MemoryStream ms = null;
CryptoStream cs = null;
byte[] byt;
byte[] _result;
mCSP = new RijndaelManaged();
try
{
mCSP.Key = _key;
mCSP.IV = _initVector;
ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);
byt = Convert.FromBase64String(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
_result = ms.ToArray();
}
catch
{
_result = null;
}
finally
{
if (ct != null)
ct.Dispose();
if (ms != null)
ms.Dispose();
if (cs != null)
cs.Dispose();
}
return ASCIIEncoding.UTF8.GetString(_result);
}
private static string Encrypt(string Password)
{
if (string.IsNullOrEmpty(Password))
return string.Empty;
byte[] Value = Encoding.UTF8.GetBytes(Password);
SymmetricAlgorithm mCSP = new RijndaelManaged();
mCSP.Key = _key;
mCSP.IV = _initVector;
using (ICryptoTransform ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV))
{
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, ct, CryptoStreamMode.Write))
{
cs.Write(Value, 0, Value.Length);
cs.FlushFinalBlock();
cs.Close();
return Convert.ToBase64String(ms.ToArray());
}
}
}
}
J'espère que ces 2 fonctions peuvent vous aider.
utiliser une fonction de hachage comme SHA256:
using System.Security.Cryptography;
/// <summary>
/// Hash the given string with sha256
/// </summary>
/// <param name="password">the string to hash</param>
/// <returns>The hex representation of the hash</returns>
static string sha256(string password)
{
SHA256Managed crypt = new SHA256Managed();
string hash = String.Empty;
byte[] crypto = crypt.ComputeHash(Encoding.ASCII.GetBytes(password), 0, Encoding.ASCII.GetByteCount(password));
foreach (byte bit in crypto)
{
hash += bit.ToString("x2");
}
return hash;
}
Il donne toujours la même sortie pour la même entrée, afin que vous puissiez comparer les valeurs hachurées. Vous devriez également envisager de saler l'entrée (en ajoutant ou en ajoutant une valeur spécifique à votre application/programme afin de rendre les tables arc-en-ciel moins utiles)
- 1. Recherche de fonctions de cryptage/décryptage
- 2. Quelles sont les fonctions PHP de "cryptage"?
- 3. C# exception de cryptage
- 4. fonctions de cryptage/décryptage équivalentes sur C++ linux et C# windows
- 5. C# code pour cryptage
- 6. Cryptage C# WPF
- 7. Cryptage pour Objective-C
- 8. Liste des fonctions C++
- 9. iPhone/Objective-c RSA cryptage
- 10. Cryptage de paquets personnalisés en PHP/C++
- 11. Méthode de cryptage en C# et Java
- 12. Cryptage ECC avec BouncyCastle pour C#
- 13. C# fonctions de fil
- 14. Problèmes de cryptage
- 15. Cryptage compatible entre Android et C#
- 16. Utilisation du cryptage AES en C#
- 17. DES Cryptage en PHP et C#
- 18. Codage C# dans le cryptage/décryptage DES
- 19. Assemblage CLR pour cryptage/décryptage
- 20. Fonctions membres C++ vs fonctions libres
- 21. C++: Tableau de pointeurs de fonctions membres vers différentes fonctions
- 22. fonctions de sortie en C
- 23. appelle libyahoo2 fonctions de C#
- 24. Algorithme de cryptage audio - vidéo
- 25. Cryptage SQLServer du canal de données à partir de C#
- 26. Exemple de cryptage de fichier PGP BouncyCastle en C#
- 27. C++ fonctions virtuelles Question
- 28. DataRow [] Fonctions agrégées C#
- 29. Fonctions VB à C#
- 30. Captcha cryptage
Vous ne savez pas quelle est la question ...? –