Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

25 lines
457 B
C#

#if MONOTOUCH && FULL_AOT_RUNTIME
using Crimson.CommonCrypto;
namespace System
{
partial struct Guid
{
public static Guid NewGuid ()
{
byte[] b = new byte [16];
Cryptor.GetRandom (b);
Guid res = new Guid (b);
// Mask in Variant 1-0 in Bit[7..6]
res._d = (byte) ((res._d & 0x3fu) | 0x80u);
// Mask in Version 4 (random based Guid) in Bits[15..13]
res._c = (short) ((res._c & 0x0fffu) | 0x4000u);
return res;
}
}
}
#endif