Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

โปรแกรม C# เพื่อสร้างตัวเลขสุ่มที่ปลอดภัย


สำหรับหมายเลขสุ่มที่ปลอดภัย ให้ใช้คลาส RNGCryptoServiceProvider มันใช้ตัวสร้างตัวเลขสุ่มเข้ารหัส

เมื่อใช้คลาสเดียวกัน เราพบค่าสุ่มบางค่าโดยใช้ค่าต่อไปนี้ -

using (RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider()) {
   byte[] val = new byte[6];
   crypto.GetBytes(val);
   randomvalue = BitConverter.ToInt32(val, 1);
}

หากต้องการสร้างหมายเลขความปลอดภัยแบบสุ่ม คุณสามารถลองเรียกใช้รหัสต่อไปนี้

ตัวอย่าง

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Security.Cryptography;
public class Demo {
   public static void Main(string[] args) {
      for (int i = 0; i <= 5; i++) {
         Console.WriteLine(randomFunc());
      }
   }
   private static double randomFunc() {
      string n = "";
      int randomvalue;
      double n2;
      using (RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider()) {
         byte[] val = new byte[6];
         crypto.GetBytes(val);
         randomvalue = BitConverter.ToInt32(val, 1);
      }
      n += randomvalue.ToString().Substring(1, 1)[0];
      n += randomvalue.ToString().Substring(2, 1)[0];
      n += randomvalue.ToString().Substring(3, 1)[0];
      n += randomvalue.ToString().Substring(4, 1)[0];
      n += randomvalue.ToString().Substring(5, 1)[0];
      double.TryParse(n, out n2);
      n2 = n2 / 100000;
      return n2;
   }
}

ผลลัพธ์

0.13559
0.0465
0.18058
0.26494
0.52231
0.78927