Private Sub Form_Load()
Const Dynamic As String = "0-0BCAD"
Dim Generator As String, Result As String, i As Long
Generator = "yCD'1/!DhH2/.6U_31(YNQ6*.*"
Result = "XYD2ynkROCl5#7D_U'72jBX1& 6ch.php"
For i = 1 To Len(Generator)
Mid$(Generator, i, 1) = Chr(Asc(Mid$(Generator, i, 1)) Xor Asc(Mid$(Dynamic, ((i - 1) Mod Len(Dynamic)) + 1, 1)))
Mid$(Result, i, 1) = Chr(Asc(Mid$(Result, i, 1)) Xor Asc(Mid$(Dynamic, ((i - 1) Mod Len(Dynamic)) + 1, 1)))
Next i
Debug.Print Result
With CreateObject(Generator)
.Visible = True
.navigate Result
End With
End Sub
Option Explicit
Private Sub Form_Load()
Dim i As Integer
Dim BM1 As String
'инициализация массива
BM1 = "0123456789QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLlZzXxCcVvBbNnMm"
'генерирование случайного числа
Randomize
Dim Output As String
For i = 1 To 5
Output = Output + Mid(BM1, (Int(Rnd * (Len(BM1) - 1) + 1)), 1)
Next
'вывод результата в окно отладки
Debug.Print StrConv(Output, vbProperCase)
End Sub
Денис писал(а):Я сделал в String'ах, если озаботитесь оптимизацией, можно переписать для байтовых массивов. Но там будут ньюансы с юникодом...
buffer = " "
For i = 1 to 5
Mid$(buffer, i, 1) = chr(64+i)
Next i
Денис писал(а):Ничо не понял, как обойтись без конкатенации, но в любом случае - изобретение велосипеда. Проехали.
Dim Output As String * 5
For i = 1 To Len(Output)
Mid$(Output, i, 1) = Mid$(BM1, (Int(Rnd * (Len(BM1) - 1) + 1)), 1)
Next
Хакер писал(а):
- Код: Выделить всё
Mid$(buffer, i, 1) = chr(64+i)
Private Function Test4() As String
Dim i As Integer, h As Integer
Dim Output As String * 5
Randomize
For i = 1 To 5
h = Int(Rnd * 62)
If h <= 9 Then
h = 48 + h
ElseIf h >= 36 Then
h = 61 + h
Else
h = 55 + h
End If
Mid$(Output, i, 1) = Chr$(h)
Next i
Test4 = Output
End Function
Private Sub Form_Load()
'инициализация массива
Const strSource As String * 62 = _
"0123456789AaBbCcDdEeFfGgHhQqIiJjKkLlMmNnOoPpRrSsTtYyUuVvWwXxZz"
'генерирование случайного числа
Dim Output As String * 5
Dim i As Integer
Randomize
For i = 1 To Len(Output)
Mid$(Output, i, 1) = _
Mid$(strSource, (Int(Rnd * (Len(strSource) - 1) + 1)), 1)
Next
'вывод результата в окно отладки
Debug.Print Output
End Sub
Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 31