public byte[] GetBytes()
{
byte[] data = new byte[32];
data[0] = (byte) ((gmt_unix_time >> 24) & 0xff);
data[1] = (byte) ((gmt_unix_time >> 16) & 0xff);
data[2] = (byte) ((gmt_unix_time >> 8) & 0xff);
data[3] = (byte) (gmt_unix_time & 0xff);
Array.Copy(random_bytes, 0, data, 4, 28);
return data;
}