public void KeyGeneration_Test4 () { PKCS12.DeriveBytes db = new PKCS12.DeriveBytes (); db.HashName = "SHA1"; db.IterationCount = 1000; db.Password = password2; db.Salt = salt5; byte[] key = db.DeriveKey (24); AssertEquals ("Key(1)", "48-3D-D6-E9-19-D7-DE-2E-8E-64-8B-A8-F8-62-F3-FB-FB-DC-2B-CB-2C-02-95-7F", BitConverter.ToString (key)); byte[] iv = db.DeriveIV (8); AssertEquals ("IV(2)", "9D-46-1D-1B-00-35-5C-50", BitConverter.ToString (iv)); db.Salt = salt6; byte[] mac = db.DeriveMAC (20); AssertEquals ("MAC(3)", "5E-C4-C7-A8-0D-F6-52-29-4C-39-25-B6-48-9A-7A-B8-57-C8-34-76", BitConverter.ToString (mac)); }
private byte[] MAC (byte[] password, byte[] salt, int iterations, byte[] data) { PKCS12.DeriveBytes pd = new PKCS12.DeriveBytes (); pd.HashName = "SHA1"; pd.Password = password; pd.Salt = salt; pd.IterationCount = iterations; HMACSHA1 hmac = (HMACSHA1) HMACSHA1.Create (); hmac.Key = pd.DeriveMAC (20); return hmac.ComputeHash (data, 0, data.Length); }
public void KeyGeneration_Test2 () { PKCS12.DeriveBytes db = new PKCS12.DeriveBytes (); db.HashName = "SHA1"; db.IterationCount = 1; db.Password = password1; db.Salt = salt2; byte[] key = db.DeriveKey (24); AssertEquals ("Key(1)", "F3-A9-5F-EC-48-D7-71-1E-98-5C-FE-67-90-8C-5A-B7-9F-A3-D7-C5-CA-A5-D9-66", BitConverter.ToString (key)); byte[] iv = db.DeriveIV (8); AssertEquals ("IV(2)", "C0-A3-8D-64-A7-9B-EA-1D", BitConverter.ToString (iv)); db.Salt = salt3; byte[] mac = db.DeriveMAC (20); AssertEquals ("MAC(3)", "8D-96-7D-88-F6-CA-A9-D7-14-80-0A-B3-D4-80-51-D6-3F-73-A3-12", BitConverter.ToString (mac)); }