Crittografare password

di il
3 risposte

Crittografare password

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

  • Re: Crittografare password

    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;
    }
    
  • Re: Crittografare password

    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?
  • Re: Crittografare password

    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