سلام
می خوام موقع زدن یه button به تعداد 1000 تا پسورد تصادفی (رندومی ) غیر تکراری تولید و تو بانگ ذخیره کنم.پیشنهادتون برا الگوریتم چیه؟در ضمن پسورد ها باید مخلوط اعداد و کاراکترها باشند و هر کدوم 8 حرفی باشند .
Printable View
سلام
می خوام موقع زدن یه button به تعداد 1000 تا پسورد تصادفی (رندومی ) غیر تکراری تولید و تو بانگ ذخیره کنم.پیشنهادتون برا الگوریتم چیه؟در ضمن پسورد ها باید مخلوط اعداد و کاراکترها باشند و هر کدوم 8 حرفی باشند .
پیشنهاد من اینه که به تعداد مورد نظر عدد تصادفی ایجاد کنی، اونها رو به String تبدیل کنی، MD5 Hash شون رو بگیری و 8 کاراکتر اولشون رو جدا کنی.
برای کسب اطلاعات بیشتر درباره MD5 Hash و نحوه استفاده از آن در دلفی در همین بخش کلمه MD5 را جستجو کن.
تضمین غیر تکراری بودن؟
MD5 رو قبلا از خود شما یادگرفتم(ممنون) ولی فکر می کنم حق با آقای مفیدی باشه و با این روش پسوردهای تکراری داشته باشیم . برا تولید تصادفی اعداد هم تابع random و randomize رو پیشنهاد می کنید؟با این توابع اگه بخوام مقدار تصادفی بین دو عدد دلخاهو ونه یه عدد دلخواه و صفر رو به دست بیارم باید چی کار کنم ؟
من پیشنهاد میکنم برای هر کدام هشت عدد تصادفی ایجاد کنی(در حوزه کد اسکی یا یونیکد) بعد معادل هرکدام را بدست آورده و پشت هم بچینی البته احتمالا یکم کند باشد.
آقای Tarrah:
برای تولید عدد تصادفی x که: a<=x<=b
می توانید بنویسید:
;randomize
x:= a+ random(b-a+1)
خیلی خیلی ممنون
سلام دوستان .من یک روش جالب در طراحی پسورد در کارتهای ebl دیدم .که در اون یک آرایه 3*10
با کاراکترهای ثابت در نظر گرفته.که در هر بار login بصورت تصادفی چند خانه از آرایه رو از شما می پرسه .در این روش احتمال لو رفتن رمز و برخی خطرات دیگه تقریبا" وجود نداره.
با سلام اگر میشه گذاشتن پسورد را به وسیله زبان برنامه نویسی c برای برای گرافیک توضیح بدهید میدانم به وسیله آرایه میشه ولی بلد نیستم اگر میشه بیشتر توضیح دهیدباتشکر
private string CreatePassword()
{
string passwd = string.Empty;
Random rnd = new Random();
for (int i = 1; i <= 8; i++)
{
int DigiStr = rnd.Next(0, 3);
//generate a number between 0-9
if (DigiStr == 0)
passwd += (char)rnd.Next(48, 58);
if (DigiStr == 1)
passwd += (char)rnd.Next(65, 91);
if (DigiStr == 2)
passwd += (char)rnd.Next(97, 123);
}
System.Threading.Thread.Sleep(5);
return passwd;
}
این یک کد تصادفی مطمئنی ایجاد میکنه (به زبان php)
function rnd_string($len = 24)
{
$str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLM NOPQRSTUVWXYZ";
$result = '';
for ($i = 0; $i<$len; $i++)
$result.= $str[rand ( 0, strlen ( $str ) - 1 )];
return $result;
}