3c1f479b9d
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
25 lines
457 B
C#
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 |