public HashValidator() { EncodingStream es = new EncodingStream(File.ReadAllBytes(Settings.Files.HashPath)); this.Salt = es.ReadNextBytes(); this.Hash = es.ReadNextBytes(); es.Close(); }
/// <summary> /// Return the encoded login data /// </summary> public static byte[] EncodeCryptoRNGData(CryptoRNGData Data) { EncodingStream ec = new EncodingStream(); ec.WriteEntry(Data.Salt); ec.WriteEntry(Data.IV); ec.Close(); return(ec.GetData()); }
public static void SaveHash(string Password) { byte[] Key = Encoding.UTF8.GetBytes(Password); byte[] Salt = CryptoFunctions.GenerateCryptoSecureBytes(Settings.Hash.SaltBytes); byte[] Hash = CryptoFunctions.DeriveKey(Key, Salt, Settings.Hash.HashBytes, Settings.Hash.HashPBKDF2Iterations); EncodingStream es = new EncodingStream(File.Open(Settings.Files.HashPath, FileMode.CreateNew)); es.WriteBytes(Salt); es.WriteBytes(Hash); es.Close(); }
public void Close() => OutputStream.Close();