Example #1
0
        public EncryptedData EncryptData(string message, byte[] masterKey, int dataKeyIterations)
        {
            var salt    = _pbkdf2.GenerateSalt();
            var dataKey = _pbkdf2.Compute(masterKey, salt, dataKeyIterations);
            var initializationVector = _aes.GenerateInitializationVector();
            var ciphertext           = _aes.Encrypt(message, dataKey, initializationVector);

            return(new EncryptedData(salt, initializationVector, dataKeyIterations, ciphertext));
        }
        public void GenerateSalt_SaltSizeIsLessThanOne()
        {
            var pbkdf2 = new Pbkdf2 {
                PlainText = "Test", SaltSize = 0
            };

            pbkdf2.GenerateSalt();

            Assert.Fail();
        }
        public void GenerateSalt_Ok()
        {
            var pbkdf2 = new Pbkdf2 {
                PlainText = "Test"
            };

            var salt = pbkdf2.GenerateSalt();

            Assert.AreEqual(pbkdf2.Salt, salt);
            var saltContent = pbkdf2.Salt.Split('.');

            Assert.IsTrue(saltContent.Length == 3);
        }
        public void GenerateSalt_OkWithArguments()
        {
            var pbkdf2 = new Pbkdf2 {
                PlainText = "Test"
            };

            var salt = pbkdf2.GenerateSalt(42, 16);

            var saltConent = salt.Split('.');

            Assert.AreEqual(42, pbkdf2.HashIterations);
            Assert.AreEqual(16, pbkdf2.SaltSize);
            Assert.AreEqual(pbkdf2.Salt, salt);

            Assert.IsTrue(saltConent.Length == 3);
            Assert.IsTrue(saltConent[1] == "42");
        }
Example #5
0
 private void generatesalt_button_Click(object sender, EventArgs e)
 {
     salt_textBox.Text = Pbkdf2.GenerateSalt();
 }
Example #6
0
 public MasterKey(string secretPassword, int iterations, Pbkdf2 pbkdf2)
     : this(secretPassword, pbkdf2.GenerateSalt(), iterations, pbkdf2)
 {
 }