1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public static Guid MaskGuid(Guid Id, int nrOfByte)
{
if (nrOfByte <= 16)
{
byte[] orig = Id.ToByteArray();
byte[] mask = new byte[orig.Length];
for (int i = orig.Length - 1; i > ((orig.Length - 1) - nrOfByte); i--)
{
mask[i] = orig[i];
Console.WriteLine("orig byte[{0}]: {1}, mask[{2}]:{3}", i, orig[i], i, mask[i]);
}
Guid masked = new Guid(mask);
Console.WriteLine("Origin Guid = {0}", Id.ToString());
Console.WriteLine("Mask size = {0}", nrOfByte);
Console.WriteLine("Masked Guid = {0}", masked.ToString());
return masked;
}
else
throw new ApplicationException("nbOfByte must be lower or equals to 16");
} |