1
0
mirror of https://github.com/bitwarden/mobile.git synced 2024-11-07 09:20:04 +01:00
bitwarden-mobile/test/Android.Test/KeyDerivationTests.cs

42 lines
1.1 KiB
C#
Raw Normal View History

using System;
using System.Text;
using System.Linq;
using NUnit.Framework;
using Bit.Android.Services;
namespace Bit.Android.Test
{
[TestFixture]
public class KeyDerivationTests
{
[SetUp]
public void Setup() { }
[TearDown]
public void Tear() { }
[Test]
public void MakeKeyFromPasswordBase64()
{
var service = new BouncyCastleKeyDerivationService();
var key = service.DeriveKey(Encoding.UTF8.GetBytes("123456"), Encoding.UTF8.GetBytes("salt"), 5000);
Assert.True(key.SequenceEqual(GetKey()));
}
[Test]
public void HashPasswordBase64()
{
var service = new BouncyCastleKeyDerivationService();
var hash = service.DeriveKey(GetKey(), Encoding.UTF8.GetBytes("123456"), 1);
var hashBytes = Convert.FromBase64String("7Bsl4ponrsFu0jGl4yMeLZp5tKqx6g4tLrXhMszIsjQ=");
Assert.True(hash.SequenceEqual(hashBytes));
}
private byte[] GetKey()
{
return Convert.FromBase64String("QpSYI5k0bLQXEygUEHn4wMII3ERatuWDFBszk7JAhbQ=");
}
}
}