RandomStringGenerator.cs 626 B

123456789101112131415161718
  1. using System;
  2. using System.Linq;
  3. using System.Security.Cryptography;
  4. namespace VCommon.Security
  5. {
  6. public static class RandomStringGenerator
  7. {
  8. private static readonly RNGCryptoServiceProvider RngCryptoServiceProvider = new RNGCryptoServiceProvider();
  9. public static string GuidBasedRandomHexString64()
  10. {
  11. var arr1 = Guid.NewGuid().ToByteArray();
  12. var arr2 = new byte[16]; RngCryptoServiceProvider.GetBytes(arr2, 0, arr2.Length);
  13. return arr1.Zip(arr2, (x, y) => new[] { x, y }).SelectMany(p => p).Select(p => p.ToString("X2")).JoinString();
  14. }
  15. }
  16. }