28-11-2019, Saat: 07:49
Merhabalar ,
Öğrenci kod oluşturma diye bir algoritma var.Aslında basit ama ben beceremedim.
Özellikle String alanı Char alana C# .ToCharArray(); ile çevirirken delphi ile herşey karman çorman oldu.
Bunun dışında da en çok takıldığım yer GenerateRandomString alanında Buffer, Random.NexBytes dahil olmak üzere bir çok yer oldu.
Yardımlarınız bekliyorum . Teşekkürler
Öğrenci kod oluşturma diye bir algoritma var.Aslında basit ama ben beceremedim.
Özellikle String alanı Char alana C# .ToCharArray(); ile çevirirken delphi ile herşey karman çorman oldu.
Bunun dışında da en çok takıldığım yer GenerateRandomString alanında Buffer, Random.NexBytes dahil olmak üzere bir çok yer oldu.
Yardımlarınız bekliyorum . Teşekkürler
public partial class Form1 : Form
{
public static string possibleChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
public static char[] possibleCharsArray = Form1.possibleChars.ToCharArray();
public static int possibleCharsAvailable = Form1.possibleChars.Length;
public static Random random = new Random();
public Form1()
{
InitializeComponent();
}
public string GenerateRandomString(int num)
{
byte[] buffer = new byte[num];
Form1.random.NextBytes(buffer);
char[] chArray = new char[num];
while (num-- > 0)
chArray[num] = Form1.possibleCharsArray[(int)buffer[num] % Form1.possibleCharsAvailable];
return new string(chArray);
}
public string OgrenciKodOlustur(string str)
{
if (str.Length != 24)
return "";
string str1 = str.Substring(15, 4) + str.Substring(20, 4);
string str2 = "PASS";
string str3 = "";
for (int index = 0; index < 8; ++index)
str3 = this.addNum(str3);
string str4 = str3 + this.GenerateRandomString(20);
int[] numArray = new int[8]
{
1,
2,
7,
11,
13,
17,
20,
27
};
string str5 = str2 + str4;
string str6 = this.GenerateRandomString(32);
for (int index = 0; index < 8; ++index)
str6 = str6.Remove(numArray[index], 1).Insert(numArray[index], str1[index].ToString());
return str5 + str6;
}

