private static byte[] DeriveKey(byte[] key, byte[] salt, int outputSize, int iterations)
        {
            var output = new byte[outputSize];

            Pbkdf2.ComputeKey(key, salt, iterations, Pbkdf2.CallbackFromHmac <HMACSHA256>(), outputSize, output);
            return(output);
        }
        public static byte[] DeriveKeyWithConfig(byte[] key, byte[] salt, int outputSize, byte[] config)
        {
            int iterations;

            PBKDF2ConfigurationUtility.Read(config, out iterations);
            var output = new byte[outputSize];

            Pbkdf2.ComputeKey(key, salt, iterations, Pbkdf2.CallbackFromHmac <HMACSHA256>(), outputSize, output);
            return(output);
        }
Example #3
0
        public static string TestSHA1(this Vector vector)
        {
            var derivedBytes = new byte[vector.Len];

            Pbkdf2.ComputeKey
                (Encoding.ASCII.GetBytes(vector.Password), Encoding.ASCII.GetBytes(vector.Salt),
                vector.C, Pbkdf2.CallbackFromHmac <HMACSHA1>(), 20, derivedBytes);

            var derived = new string(HexBase16.Encode(derivedBytes));

            return(derived);
        }