protected override Stream Export(BufferManager bufferManager, int count) { BufferStream bufferStream = new BufferStream(bufferManager); // Nickname if (this.Nickname != null) { ItemUtilities.Write(bufferStream, (byte)SerializeId.Nickname, this.Nickname); } // DigitalSignatureAlgorithm if (this.DigitalSignatureAlgorithm != 0) { ItemUtilities.Write(bufferStream, (byte)SerializeId.DigitalSignatureAlgorithm, this.DigitalSignatureAlgorithm.ToString()); } // PublicKey if (this.PublicKey != null) { ItemUtilities.Write(bufferStream, (byte)SerializeId.PublicKey, this.PublicKey); } // PrivateKey if (this.PrivateKey != null) { ItemUtilities.Write(bufferStream, (byte)SerializeId.PrivateKey, this.PrivateKey); } bufferStream.Seek(0, SeekOrigin.Begin); return(bufferStream); }
protected override Stream Export(BufferManager bufferManager, int count) { BufferStream bufferStream = new BufferStream(bufferManager); // CreationTime if (this.CreationTime != DateTime.MinValue) { ItemUtilities.Write(bufferStream, (byte)SerializeId.CreationTime, this.CreationTime.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ", System.Globalization.DateTimeFormatInfo.InvariantInfo)); } // ExchangeAlgorithm if (this.ExchangeAlgorithm != 0) { ItemUtilities.Write(bufferStream, (byte)SerializeId.ExchangeAlgorithm, this.ExchangeAlgorithm.ToString()); } // PublicKey if (this.PublicKey != null) { ItemUtilities.Write(bufferStream, (byte)SerializeId.PublicKey, this.PublicKey); } // PrivateKey if (this.PrivateKey != null) { ItemUtilities.Write(bufferStream, (byte)SerializeId.PrivateKey, this.PrivateKey); } bufferStream.Seek(0, SeekOrigin.Begin); return(bufferStream); }
protected override void ProtectedImport(Stream stream, BufferManager bufferManager, int count) { for (; ;) { byte id; { byte[] idBuffer = new byte[1]; if (stream.Read(idBuffer, 0, idBuffer.Length) != idBuffer.Length) { return; } id = idBuffer[0]; } int length; { byte[] lengthBuffer = new byte[4]; if (stream.Read(lengthBuffer, 0, lengthBuffer.Length) != lengthBuffer.Length) { return; } length = NetworkConverter.ToInt32(lengthBuffer); } using (RangeStream rangeStream = new RangeStream(stream, stream.Position, length, true)) { if (id == (byte)SerializeId.Nickname) { this.Nickname = ItemUtilities.GetString(rangeStream); } else if (id == (byte)SerializeId.DigitalSignatureAlgorithm) { this.DigitalSignatureAlgorithm = (DigitalSignatureAlgorithm)Enum.Parse(typeof(DigitalSignatureAlgorithm), ItemUtilities.GetString(rangeStream)); } else if (id == (byte)SerializeId.PublicKey) { this.PublicKey = ItemUtilities.GetByteArray(rangeStream); } else if (id == (byte)SerializeId.PrivateKey) { this.PrivateKey = ItemUtilities.GetByteArray(rangeStream); } } } }
protected override void ProtectedImport(Stream stream, BufferManager bufferManager, int count) { for (; ;) { byte id; { byte[] idBuffer = new byte[1]; if (stream.Read(idBuffer, 0, idBuffer.Length) != idBuffer.Length) { return; } id = idBuffer[0]; } int length; { byte[] lengthBuffer = new byte[4]; if (stream.Read(lengthBuffer, 0, lengthBuffer.Length) != lengthBuffer.Length) { return; } length = NetworkConverter.ToInt32(lengthBuffer); } using (RangeStream rangeStream = new RangeStream(stream, stream.Position, length, true)) { if (id == (byte)SerializeId.CreationTime) { this.CreationTime = DateTime.ParseExact(ItemUtilities.GetString(rangeStream), "yyyy-MM-ddTHH:mm:ssZ", System.Globalization.DateTimeFormatInfo.InvariantInfo).ToUniversalTime(); } else if (id == (byte)SerializeId.ExchangeAlgorithm) { this.ExchangeAlgorithm = (ExchangeAlgorithm)Enum.Parse(typeof(ExchangeAlgorithm), ItemUtilities.GetString(rangeStream)); } else if (id == (byte)SerializeId.PublicKey) { this.PublicKey = ItemUtilities.GetByteArray(rangeStream); } else if (id == (byte)SerializeId.PrivateKey) { this.PrivateKey = ItemUtilities.GetByteArray(rangeStream); } } } }
protected override Stream Export(BufferManager bufferManager, int count) { BufferStream bufferStream = new BufferStream(bufferManager); // CashAlgorithm if (this.CashAlgorithm != 0) { ItemUtilities.Write(bufferStream, (byte)SerializeId.CashAlgorithm, this.CashAlgorithm.ToString()); } // Key if (this.Key != null) { ItemUtilities.Write(bufferStream, (byte)SerializeId.Key, this.Key); } bufferStream.Seek(0, SeekOrigin.Begin); return(bufferStream); }
public int GetHashCode(byte[] value) { return(ItemUtilities.GetHashCode(value)); }