<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Генератор паролей. Один пароль для всего )]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7586&amp;type=atom" />
	<updated>2017-05-31T01:11:29Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7586</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Генератор паролей. Один пароль для всего )]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=116256#p116256" />
			<content type="html"><![CDATA[<p><strong>Irbis</strong><br />Требуется <a href="https://ru.wiktionary.org/wiki/%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%8C">вариативность</a> по ниже перечисленным параметрам.<br />1. Нужна длина от 8 до 32<br />2. Нужно учитывать спец. символы - `~!@&quot;№ и т.д. <br />3. Желательно запоминать комментарии и ключевое слово.<br />4. Изменить тип шифрования на более устойчивый... хотя и этот сойдёт.</p><p>P.S. Обрабатывать ключ на основе кондукторов <a href="http://kpfu.ru/portal/docs/F199335810/FuSyaomin.pdf">Криптосистема NICE и некоторые ее модификации</a> - не обязательно, это я просто вспомнил. <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2017-05-31T01:11:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=116256#p116256</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Генератор паролей. Один пароль для всего )]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63930#p63930" />
			<content type="html"><![CDATA[<p>Как часто мы пользуемся паролями, использование которых противоречит элементарным требованиям безопасности - слишком короткий либо простой пароль, подбор которого по словарю или методом &quot;грубой силы&quot; не представляет труда. <br />Либо один пароль к большому количеству аккаунтов. Чем это может быть чревато, понятно - достаточно взломать один аккаунт, и все учетные данные на других сайтах могут также пострадать.<br />Хранить десятки сложных паролей в голове - это возможно, но таким талантом могут похвастать считанные единицы. Чтобы не хранить пароли на бумажке, приходится пользоваться услугами доп.ПО.</p><p>Написанный мной скрипт не хранит пароли в защищенном хранилище и не заполняет сам поля username/password (по крайней мере, пока <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />)<br />Он всего лишь генерирует пароли на основе введенного мастер-кода и строки, которая будет уникальной для каждого пароля - например, для мастер-пароля <em>superpassword</em> и ключа <em>forum.script-coding.com</em>,&nbsp; скрипт выдаст пароль 7roLpw2OuaJFxvFO.</p><p>P.S. Скрипт написан после знакомства с <a href="http://forum.script-coding.com/viewtopic.php?id=7537">этой</a> темой, все предложения/замечания категорически приветствуются. <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p><div class="codebox"><pre><code>
PASSWORD_TOOLTIP := True

Gui, New , +Owner +AlwaysOnTop +HwndId
Gui, Add, Slider, x120 w300 Range1-16 ToolTip vMySlider gNewPass, 16
Gui, Add, Text, x2 	y13 w100 h20 , Кол-во знаков
Gui, Add, Text, x2 y60 w100 h20 , Главный пароль
Gui, Add, Text, x2 w60 h30 , Ключ
Gui, Add, Edit, x120 y60 W300 vMasterPass gNewPass +Password -WantReturn
Gui, Add, Edit, W300 vNewStr gNewPass -WantReturn
Gui, Add, Button, x120 y120 w110 h30 Default, OK
Gui, Add, Button, x2 y120 w30 h30 , ?
Gui, Add, Button, x250 y120 w110 h30 , Cancel
Gui, Show,  w430 y140, PassGen v0.01
return	

NewPass:
Gui, Submit, NoHide
if PASSWORD_TOOLTIP
   tooltip % PassGen(MySlider, MasterPass NewStr)
return 

ButtonOK: 
Gui, Submit
Clipboard := PassGen(MySlider, MasterPass NewStr)
ExitApp
#If WinActive(&quot;ahk_id&quot; Id)
Esc::
ButtonCancel:
GuiClose:
ExitApp
#If

Button?:
MsgBox,,Помощь,
( Join`s
`t`t`tГенератор паролей.`n`n
Позволяет  создавать  уникальные  пароли  длинной  от 1 до 16  символов.`n
В качестве параметра &quot;Ключ&quot; может служить название программы,
фраза или адрес сайта, для которого создается пароль.
`n`nПараметр  &quot;Главный  пароль&quot;  можно  вводить  один для  всех ключей,
он  гарантирует  защиту  паролей  -  даже зная  вводимые ключевые фразы и алгоритм,
без главного пароля невозможно восстановить генерируемые пароли,
кроме как используя метод полного перебора.
`n`nЕсли оставить поля &quot;Главный пароль&quot; и &quot;Ключ&quot; пустыми, программа
сгенерирует случайный пароль. При нажатии клавиши &#039;Enter&#039; или кнопки &#039;OK&#039;
программа закрывается, сохранив пароль в буфер обмена.
)
return

PassGen(PassLen, InitStr = &quot;&quot;) { ; Параметры - длина пароля и строка инициализации
   alph = ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890
   len := StrLen(alph)
   If !InitStr
      InitStr = % A_TickCount
   a := StrMD5(InitStr)
   loop % PassLen
      Pass .= SubStr(alph, mod(&quot;0x&quot; SubStr(a, A_Index*2, 2), len), 1)
   return Pass
}

StrMD5( V ) { ; www.autohotkey.com/forum/viewtopic.php?p=376840#376840
 VarSetCapacity( MD5_CTX,104,0 ), DllCall( &quot;advapi32\MD5Init&quot;, UInt,&amp;MD5_CTX )
 DllCall( &quot;advapi32\MD5Update&quot;, UInt,&amp;MD5_CTX, A_IsUnicode ? &quot;AStr&quot; : &quot;Str&quot;,V
 , UInt,StrLen(V) ), DllCall( &quot;advapi32\MD5Final&quot;, UInt,&amp;MD5_CTX )
 Loop % StrLen( Hex:=&quot;123456789ABCDEF0&quot; )
  N := NumGet( MD5_CTX,87+A_Index,&quot;Char&quot;), MD5 .= SubStr(Hex,N&gt;&gt;4,1) . SubStr(Hex,N&amp;15,1)
Return MD5
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-09-17T21:00:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63930#p63930</id>
		</entry>
</feed>
