Crittografare password

di Anonimizzato10204 il
3 risposte
Ciao a tutti.
Ho un database che contiene delle login e password e vorrei crittografarle. Che sistema mi consigliate in C#? Non sono dati importanti vanno bene soluzioni semplici.

3 Risposte

  • Ciao visto che si tratta di una password ti consiglio un algoritmo SHA (Secure Hash Algorithm).
    Nello specifico va bene anche lo SHA1.

    Di seguito un' implementazione dell'algoritmo SHA1 in C#:
    
    //Va importato il namespace System.Security.Cryptography
    public static string GetSHA1(string text, Encoding enc)
    {
        byte[] buffer = enc.GetBytes(text);
        SHA1CryptoServiceProvider cryptoTransformSHA1 =  new SHA1CryptoServiceProvider();
        string hash = BitConverter.ToString(cryptoTransformSHA1.ComputeHash(buffer)).Replace("-", "");
    
        return hash;
    }
    
  • Ciao Toki, grazie per le info, funziona. Ma mi hai messo un dubbio, perché dici 'visto che sono password' ? Se fosse del testo più lungo cambierebbe qualcosa?
  • Ciao è un algoritom di HASH e come tale serve a generare un digest.
    Si tratta di un algoritmo a usa sola via, non consente quindi la decriptazione.
    Per quanto riguarda i testi, se devi firmarli per garantirne l'integrità da manomissioni li puoi sottoporre a un algoritmo di hash. Fino a qualche anno fa si utilizzava per lo più MD5 ma ormai sta cadendo in disuso a favore di SHA1, SHA2, ecc.
    Se invece devi criptarli e successivamente decriptarli devi usare altri algoritmi di crittografia.
    Per quanto mi riguarda, in genere uso Rijndael (dal nome dei due creatori Daemen e Rijmen) che è un'implementazione dell' AES (Advanced Encryption Standard).
    La classe per Microsoft .NET è: System.Security.Cryptography.RijndaelManaged
Devi accedere o registrarti per scrivere nel forum
3 risposte