mRemoteNG.Security.KeyDerivation.Pkcs5S2KeyGenerator.DeriveKey C# (CSharp) Метод

DeriveKey() публичный Метод

public DeriveKey ( string password, byte salt ) : byte[]
password string
salt byte
Результат byte[]
        public byte[] DeriveKey(string password, byte[] salt)
        {
            var passwordInBytes = PbeParametersGenerator.Pkcs5PasswordToBytes(password.ToCharArray());

            var keyGenerator = new Pkcs5S2ParametersGenerator();
            keyGenerator.Init(passwordInBytes, salt, _iterations);

            var keyParameter = (KeyParameter) keyGenerator.GenerateDerivedMacParameters(_keyBitSize);
            var keyBytes = keyParameter.GetKey();
            return keyBytes;
        }

Usage Example

 public void DifferingSaltsProduceDifferingKeys()
 {
     var keyDerivationFunction = new Pkcs5S2KeyGenerator();
     var key1 = keyDerivationFunction.DeriveKey("", new byte[0]);
     var key2 = keyDerivationFunction.DeriveKey("", new byte[] {1});
     Assert.That(key1, Is.Not.EquivalentTo(key2));
 }
All Usage Examples Of mRemoteNG.Security.KeyDerivation.Pkcs5S2KeyGenerator::DeriveKey