/// <summary> /// Return the decoded login data /// </summary> public static CryptoRNGData DecodeCryptoRNGData(byte[] buffer) { EncodingStream ec = new EncodingStream(buffer); byte[] Salt = ec.ReadNextEntry(); byte[] IV = ec.ReadNextEntry(); return(new CryptoRNGData(Salt, IV)); }
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 ArchiveReader(Stream _inputStream) { InputStream = new EncodingStream(_inputStream); entryCount = InputStream.ReadHeader(); }
public ArchiveWriter(Stream outputStream, int entryCount) { OutputStream = new EncodingStream(outputStream); OutputStream.WriteHeader(entryCount); }