using System; using System.Security.Cryptography; namespace WingPaymentService.Common.WeChat { public class RandomGenerator { readonly RandomNumberGenerator _csp; public RandomGenerator() { _csp = RandomNumberGenerator.Create(); } public uint GetRandomUInt() { var randomBytes = GenerateRandomBytes(sizeof(uint)); return BitConverter.ToUInt32(randomBytes, 0); } private byte[] GenerateRandomBytes(int bytesNumber) { byte[] buffer = new byte[bytesNumber]; _csp.GetBytes(buffer); return buffer; } } }