Randomize y Rnd

Iniciado por nhaalclkiemr, 12 Septiembre 2007, 00:21 AM

0 Miembros y 1 Visitante están viendo este tema.

satan69

yo primoro hice esto

Public Function Rand(ByVal Low As Long, _
                     ByVal High As Long) As Long
  Rand = Int((High - Low + 1) * Rnd) + Low
End Function



despues

Text4.Text = Rand(10, 99)

ahora salen numero aleatorio entre el 10 y 99.. o si quieres lo podes cambiar.. en eso rangos

nhaalclkiemr

Ya gracias pero eso ya lo sé...

El único que al parecer me  fue wACtOr...sé usar Rand perfectamente, simplemente me preguntaba por curiosidad en que influye el valor de semilla en el resultado final...pero weno parece k nadie sabe pork simplemente no tiene mucha importancia..

Saludos ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

Freeze.

Bueno yo probe con 3 textbox y Rnd 1, Rnd 2, Rnd3(respectivamente) luego puse Randomize 1 y el primer valor variaba, luego Randomize 2 y el segundo valor cambiaba y asi sucesivamente....

A lo mejor es eso, a lo mejor no lo es..!!

nhaalclkiemr

Yo esto también lo preguntaba por esto. Mirad este ejemplo de cifrado de strings XOR dependiente de un número aleatorio, dependiendo de la semilla que le pases el resultado será uno u otro y siempre será el mismo si utilizas el mismo valor de semilla:

Código (vb) [Seleccionar]
Public Function encriptacion(ByVal texto As String, ByVal semilla As Byte)

     Dim contador As Long
     Dim caracter As Long
     Dim paso As Long

     'Inicializacion del Random
     Rnd (-1)
     Randomize (semilla)

     For contador = 1 To Len(texto)
         paso = CInt(semilla * Rnd())
         caracter = Asc(Mid(texto, contador, 1))
         encriptacion = encriptacion & Chr(caracter Xor paso)
     Next

End Function


La cifrado es muy sencilla, es una cifrado de 8 bits (XOR-8bits VS AES-256bits  :xD ) pero que puede ser util si el interceptor no sabe el algorítmo

Saludos ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

cobein

A ver si esto te ayuda

'---------------------------------------------------------------------------------------
' Module    : mRand
' DateTime  : 06/07/2007 04:13
' Author    : Cobein
' Mail      : cobein27@yahoo.com
' Purpose   : Microsoft C v4.0 rand() + shuffle output
'---------------------------------------------------------------------------------------
Option Explicit

Private m_bvBox(255) As Byte
Private m_dSeed As Double

Public Function Rand() As Byte
    Dim lRet As Long
    '// Rand Function
    m_dSeed = CustomMod((214013 * m_dSeed + 2531011), 2 ^ 31)
    lRet = Int(m_dSeed / 2 ^ 16)
    '// Shuffle our box
    ShuffleBox lRet
    '// Return Value
    Rand = m_bvBox(0)
End Function

Public Sub Randomize(ByVal lVal As Long)
    Dim i As Long
    '// Initialize Box
    If m_dSeed = 0 Then '// Just to prevent from reorganizing the elements in the array once initialized.
        For i = 0 To 255
            m_bvBox(i) = i
        Next
    End If
    '// Set the seed
    m_dSeed = lVal
End Sub

'// Custom mod to prevent overflow
' This is not mine is from a RSA implementation I found on PSC
Private Function CustomMod(ByVal dVal1 As Double, ByVal dVal2 As Double) As Double
    CustomMod = dVal1 - (Int(dVal1 / dVal2) * dVal2)
End Function

Private Function ShuffleBox(ByVal lVal As Long)
    Dim lKeyLen As Long
    Dim bvKey() As Byte
    Dim i As Long
    Dim j As Long
    Dim bTemp As Byte
   
    bvKey() = StrConv(lVal, vbFromUnicode)
    lKeyLen = UBound(bvKey) + 1
   
    For i = 0 To 255
        '// Calculate the index
        j = (j + m_bvBox(i) + bvKey(i Mod lKeyLen)) Mod 256
        '// Swap values
        bTemp = m_bvBox(i): m_bvBox(i) = m_bvBox(j): m_bvBox(j) = bTemp
    Next
End Function
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

nhaalclkiemr

Que se supone que hace ese código?

Saludos ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

cobein

En una implementacion de la funcion Rand de C.  Mas un shuffle, pero es lo que vos preguntas.
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.