This commit is contained in:
TheXamlGuy
2024-04-30 20:46:47 +01:00
parent 2a4194ee22
commit 81f266d8c4
22 changed files with 296 additions and 162 deletions
+21
View File
@@ -0,0 +1,21 @@
namespace Bitvault;
public class VaultKeyGenerator(IKeyGenerator generator,
IKeyDeriver deriver,
IEncryptor encryptor,
IDecryptor decryptor) :
IVaultKeyGenerator
{
public VaultKey Create(string password)
{
byte[] salt = generator.Generate(16);
byte[] key = generator.Generate(32);
byte[] derivedKey = deriver.DeriveKey(password, salt);
byte[] publicKey = encryptor.Encrypt(key, derivedKey);
byte[] privateKey = decryptor.Decrypt(publicKey, derivedKey);
return new VaultKey(salt, publicKey, privateKey);
}
}