منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] طلب كود لتوليد قائمة كلمات سر عشواية (حروف فقط) - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] طلب كود لتوليد قائمة كلمات سر عشواية (حروف فقط) (/showthread.php?tid=18010)



طلب كود لتوليد قائمة كلمات سر عشواية (حروف فقط) - فارس جراح - 13-11-16

السلام عليكم ورحمة الله
ارجوا من الاخوة مساعدتي 
لدينا Button +TextBox
اخواني محتاج كود اضعه في Button
عند الضغط عليه يقوم بتوليد عشر كلمات سر عشوائية في  TextBox
ملاحظة طول كلمة المرور الواحدة 6 حروف كلمات المرور العشرة تكون حروف سمول انكليزية فقط
ارجوا الافادة وشكرا 
Rolleyes
مثال 


Sad طلبي صعب الظاهر


RE: طلب كود لتوليد قائمة كلمات سر عشواية (حروف فقط) - ممدوح - 13-11-16

وعليكم السلام ورحمة الله

كود :
Public Class Form1

   Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
       ListBox1.Items.Add(rendomLetters(6))
   End Sub

   Function rendomLetters(length As Integer) As String
       Dim s As String = String.Empty
       Dim arr() As Char = "abcdefghijklmnopqrstuvwxyz".ToCharArray
       Dim r As New Random()
       For i = 1 To length
           s &= arr(r.Next(0, arr.Length))
       Next
       Return s
   End Function

End Class



RE: طلب كود لتوليد قائمة كلمات سر عشواية (حروف فقط) - ابو ليلى - 13-11-16

بالاضافة لحل الاخ ممدوح
باستخدام Ling
كود :
   Private randoms As New Random()
   Private Function RandomPassword(len As Integer) As String
       Const CharSamples As String = "abcdefghijklmnopqrstuvwxyz"
       Return New String(Enumerable.Repeat(CharSamples, len).[Select](Function(x) x(randoms.[Next](x.Length))).ToArray())
   End Function

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       For i = 0 To 9
           ListBox1.Items.Add(RandomPassword(6))
       Next

   End Sub

كما و يمكنك استخدام كلاس منفصل لقيام بالعملية

بنية الكلاس
كود :
Imports System.Security.Cryptography
Imports System.Text

Public Class PassGen
   Public Function GetUniqueKey(MSize As Integer) As String
       Dim CharSamples As Char() = New Char(61) {}
       CharSamples = "abcdefghijklmnopqrstuvwxyz".ToCharArray()
       Dim Byetdata As Byte() = New Byte(0) {}
       Using crypto As New RNGCryptoServiceProvider()
           crypto.GetNonZeroBytes(Byetdata)
           Byetdata = New Byte(MSize - 1) {}
           crypto.GetNonZeroBytes(Byetdata)
       End Using
       Dim result As New StringBuilder(MSize)
       For Each b As Byte In Byetdata
           result.Append(CharSamples(b Mod (CharSamples.Length)))
       Next
       Return result.ToString()
   End Function
End Class

الاستدعاء
كود :
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Dim keyss As New PassGen
       For i = 0 To 9
           ListBox1.Items.Add(keyss.GetUniqueKey(6))
       Next
   End Sub



RE: طلب كود لتوليد قائمة كلمات سر عشواية (حروف فقط) - فارس جراح - 13-11-16

(13-11-16, 08:19 PM)ابو ليلى كتب : بالاضافة لحل الاخ ممدوح
باستخدام Ling
كود :
   Private randoms As New Random()
   Private Function RandomPassword(len As Integer) As String
       Const CharSamples As String = "abcdefghijklmnopqrstuvwxyz"
       Return New String(Enumerable.Repeat(CharSamples, len).[Select](Function(x) x(randoms.[Next](x.Length))).ToArray())
   End Function

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       For i = 0 To 9
           ListBox1.Items.Add(RandomPassword(6))
       Next

   End Sub

كما و يمكنك استخدام كلاس منفصل لقيام بالعملية

بنية الكلاس
كود :
Imports System.Security.Cryptography
Imports System.Text

Public Class PassGen
   Public Function GetUniqueKey(MSize As Integer) As String
       Dim CharSamples As Char() = New Char(61) {}
       CharSamples = "abcdefghijklmnopqrstuvwxyz".ToCharArray()
       Dim Byetdata As Byte() = New Byte(0) {}
       Using crypto As New RNGCryptoServiceProvider()
           crypto.GetNonZeroBytes(Byetdata)
           Byetdata = New Byte(MSize - 1) {}
           crypto.GetNonZeroBytes(Byetdata)
       End Using
       Dim result As New StringBuilder(MSize)
       For Each b As Byte In Byetdata
           result.Append(CharSamples(b Mod (CharSamples.Length)))
       Next
       Return result.ToString()
   End Function
End Class

الاستدعاء
كود :
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Dim keyss As New PassGen
       For i = 0 To 9
           ListBox1.Items.Add(keyss.GetUniqueKey(6))
       Next
   End Sub
الف شكر اخي ابو ليلى هذا هو ما طلبتو بالفعل