Given the following algorithm...
Code:Private Sub InitCrypt() Dim i As Long Dim i2 As Long Dim TempNum As Long TotalASCII = 0 ' a module-level long variable ThreadNum = 0 ' a module-level long variable For i = 0 To (PassLength - 1) Rnd -1 Randomize (bytPassword(i) * (1 + (i * 0.5))) TempNum = (Rnd * 10000) * (1+ (i * 0.5)) i2 = i2 + TempNum Next i TotalASCII = i2 \ 8 \ PassLength ThreadNum = (TotalASCII * 0.5) + (PassLength * 2) ReDim Threads(1 To ThreadNum) As Long i2 = TotalASCII \ 8 \ PassLength Rnd -1 Randomize TotalASCII For i = 1 To ThreadNum Threads(i) = (i * i2 * ((Rnd * 100) And 127)) + TotalASCII Next i Threads(1) = (Threads(1) + lngPrimes(Threads(ThreadNum) And 255)) And 255 For i = 1 To (ThreadNum - 1) Threads(i + 1) = (Threads(i + 1) + lngPrimes(Threads(i) And 255)) And 255 Next i End Sub
Find two bytPassword arrays that will
-generate the same ThreadNum
-generate at least 50% of the same values in the Threads array
Additional info:
-this is for an encryption algorithm
-bytPassword is simply a byte array of the ascii codes in the password
-PassLength is the ubound of bytPassword +1
-lngPrimes is an array containing the first 256 prime numbers (0 to 255). That starts at 1, then 2, 3, 5, etc.
-bytPassword should contain 4-128 elements
-at least one of the two bytPassword arrays found to be equal should be composed of characters that people would normally type, if possible.
Good luck.




.
Reply With Quote