UserIdPacket
Basic type for a user ID packet.
using Org.BouncyCastle.Utilities;
using System.Text;
namespace Org.BouncyCastle.Bcpg
{
public class UserIdPacket : ContainedPacket, IUserDataPacket
{
private readonly byte[] m_idData;
public UserIdPacket(BcpgInputStream bcpgIn)
{
m_idData = bcpgIn.ReadAll();
}
public UserIdPacket(string id)
{
m_idData = Encoding.UTF8.GetBytes(id);
}
public UserIdPacket(byte[] rawId)
{
m_idData = Arrays.Clone(rawId);
}
public string GetId()
{
return Encoding.UTF8.GetString(m_idData, 0, m_idData.Length);
}
public byte[] GetRawId()
{
return Arrays.Clone(m_idData);
}
public override bool Equals(object obj)
{
UserIdPacket userIdPacket = obj as UserIdPacket;
if (userIdPacket != null)
return Arrays.AreEqual(m_idData, userIdPacket.m_idData);
return false;
}
public override int GetHashCode()
{
return Arrays.GetHashCode(m_idData);
}
public override void Encode(BcpgOutputStream bcpgOut)
{
bcpgOut.WritePacket(PacketTag.UserId, m_idData);
}
}
}