Home

[info]max_kmb

-=МАКСА=-

Генератор паролей на VBS 09 July 2009, 22:20

Была у меня когда-то чья-то рукописная программа для генерации паролей, с настройкой длины пароля, управление наборами символов, кои будут иметь место в пароле, а потом куда-то она и подевалась. А тут, вдруг, вот понадобилась...Надо было для полторы сотен учеток срочно пароли напоменять. Генератора под рукой нет, искать - лень....Думал - фигня, щас придумаю быстренько....На втором десятке мозг закипел, пальцы путаться стали по клавиатуре....
Тогда придумал на VBS скриптом генерить, а еще чтобы сгенерированный пасворд в буфер ложился...только вот буфер через эксплорер так неохота было использовать ... кто сталкивался - поймет..

Set objexplorer = CreateObject("InternetExplorer.Application")
objexplorer.Navigate("about:blank")
objexplorer.document.parentWindow.clipboardData.setData "text", password 
 
Пошел другим путем.
У DK на сайте есть замечательное решение для работы с буфером обмена - вот его и использовал.
Получилось вот так:

'Требуется зарегистрированная в системе библиотека ClipboardHelper.dll
Dim CaseValue, BtnCode, Clipboard
Set WSHShell=WScript.CreateObject("WScript.Shell")
Set Clipboard=CreateObject("ClipboardHelper.cClipboard")
On Error Resume Next
BtnCode=4
Do While BtnCode=4
Clipboard.Clear
PassWord=""
Randomize   ' Initialize random-number generator.
For i=1 To 8 ' Задаем длину пароля (можно интерактивный запрос делать...но мне длина нужна именно 8 символов)
CaseValue=Int((3*Rnd)+1)   ' Generate random value between 1 and 3.
Select Case CaseValue
   Case 1 Password=Password+Chr(Int((9*Rnd)+48)) ' Generate random value between "0" and "9".
   Case 2 Password=Password+Chr(Int((25*Rnd)+65)) ' Generate random value between "A" and "Z".
   Case 3 Password=Password+Chr(Int((25*Rnd)+97)) ' Generate random value between "a" and "z".
End Select
Next
Clipboard.SetText Password
BtnCode=WSHShell.Popup("Пароль скопирован в буфер обмена:"&vbCrLf&""&vbCrLf&Password,0,"Generate Password Result",5)
Loop

В Select Case напихать можно и другие наборы символов, но этих хватило.

Кому интересно, таблица ASCII

Оставить комментарий Add to Memories Tell a Friend

(Оставить комментарий)

October 2009

S M T W T F S
    123
45678910
11121314151617
18192021222324
25262728293031