PDA

View Full Version : ایا به این شکل کد رهگیری تولید کردن درست است؟



RIG000
شنبه 04 آبان 1392, 16:15 عصر
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx yz0123456789";
var stringChars = new char[30];
var random = new Random();

for (int i = 0; i < stringChars.Length; i++)
{
stringChars[i] = chars[random.Next(chars.Length)];
}

var finalString = new String(stringChars);
Console.WriteLine(finalString);
برای تحت وب میخام. واسه بعد از خرید..
کد رو هم از اینترنت گرفتم . این تولید میکنه . مزایا و معایبش چیه؟

RIG000
شنبه 04 آبان 1392, 16:21 عصر
یا این یکی؟

public static string GetUniqueKey(int maxSize)
{
char[] chars = new char[62];
chars =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX YZ1234567890".ToCharArray();
byte[] data = new byte[1];
RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider();
crypto.GetNonZeroBytes(data);
data = new byte[maxSize];
crypto.GetNonZeroBytes(data);
StringBuilder result = new StringBuilder(maxSize);
foreach (byte b in data)
{
result.Append(chars[b % (chars.Length)]);
}
return result.ToString();
}

aminamir
شنبه 04 آبان 1392, 17:36 عصر
با سلام
اگه فرمت و اندازه ی کد براتون مهم نیست، از GUID استفاده کنی بهتره.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication5
{

class Program
{
static int Main(string[] args)
{
Guid obj = Guid.NewGuid();

Console.WriteLine("New Guid is " + obj.ToString());
Console.ReadLine();
return -1;
}
}
}

اینم نمونه کد تولید شده ی خروجیشه:

// 0f8fad5b-d9cb-469f-a165-70867728950e
// 7c9e6679-7425-40de-944b-e07fc1f90ae7

RIG000
شنبه 04 آبان 1392, 18:11 عصر
متشکرم. از همین کد شما میشه واقعا استفاده کرد؟؟؟؟
تکراری نده!!!!! واسه وب سایت میخام بعد خرید...

hunter_ara
شنبه 04 آبان 1392, 23:10 عصر
از گوگل استفاده کن!
GUID یونیکه و تکراری نداره!

RIG000
یک شنبه 05 آبان 1392, 08:42 صبح
اینجوری درست هست که استفاده کنیم؟ این کد ها کافیه؟

// This code example demonstrates the Guid.NewGuid() method. using System; class Sample { public static void Main() { Guid g; // Create and display the value of two GUIDs. g = Guid.NewGuid(); Console.WriteLine(g); Console.WriteLine(Guid.NewGuid()); } } /* This code example produces the following results: 0f8fad5b-d9cb-469f-a165-70867728950e 7c9e6679-7425-40de-944b-e07fc1f90ae7 */

aminamir
دوشنبه 06 آبان 1392, 12:53 عصر
خواهش میکنم.
خیالت راحت، تکراری نداره، مگه اینکه شما دیگه خیییلی بد شانس باشی عزیز))
موفق باشی. :چشمک:

FastCode
دوشنبه 06 آبان 1392, 15:55 عصر
معمولا زیر میلیارد تکراری نداره.
برای اینکه مقدار ریسک الگوریتم ها دستت بیاد جست و جو کن:
Birthday attack
Birthday problem