Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco
0 Пользователей и 1 Гость просматривают эту тему.
как вариант, можно избавиться от запоминания набора символов, позволив это сделать опять же хэшу. Вторая версия) (Нажмите, чтобы показать/скрыть)Код: [Выделить]#!/bin/bashN1=0123456789 #Только цифры!!!Ln1=${#N1}N2=ABCDEFGHIJKLMNOPQRSTUVWXYZLn2=${#N2}N3=abcdefghijklmnopqrstuvwxyzLn3=${#N3}Data=$(echo -n "$2" | sha256sum)for i in `seq 1 $Ln1`; do # собираем первый наборi=$(( i - 1 ))Pos=$(( 0x${Data:i:1} % ${#N1} ))Sym=${N1:Pos:1}Key1=$Key1$SymN1=${N1/$Sym/}done# echo $Key1for i in `seq 1 $Ln2`; do # собираем второй наборi=$(( i - 1 + $Ln1 ))Pos=$(( 0x${Data:i:1} % ${#N2} ))Sym=${N2:Pos:1}Key2=$Key2$SymN2=${N2/$Sym/}done# echo $Key2for i in `seq 1 $Ln3`; do # собираем третий наборi=$(( i - 1 + $Ln1 + $Ln2 ))Pos=$(( ( 0x${Data:i:1} ) % ${#N3} ))Sym=${N3:Pos:1}Key3=$Key3$SymN3=${N3/$Sym/}done# echo $Key3Rndd=$( echo "$Key1 % ${#Key3}" | bc ) # магия =) Data=$(echo -n "$1" | md5sum)# echo $Rnddfor i in `seq 0 2 30`; do # перебираем числа хэша if (( i < 7 )); then # для набора Key1Pos=$(( ( 0x${Data:i:2} + Rndd ) % ${#Key1} )) # позиция символа и немножко магии# echo -n "$Pos " # debugSym=${Key1:Pos:1}Word=$Word$Sym# Key1=${Key1/$Sym/} # можно раскомментить, чтоб символы не повторялисьfiif (( i > 7 && i < 15 )) ; then # для набора Key2Pos=$(( ( 0x${Data:i:2} + Rndd ) % ${#Key2} ))# echo -n "$Pos " #debugSym=${Key2:Pos:1}Word=$Word$Sym# Key2=${Key2/$Sym/} # можно раскомментить, чтоб символы не повторялисьfiif (( i > 15 && i < 23 )); then # для набора Key3Pos=$(( ( 0x${Data:i:2} + Rndd ) % ${#Key3} ))#echo -n "$Pos " #debugSym=${Key3:Pos:1}Word=$Word$Sym# Key3=${Key3/$Sym/} # можно раскомментить, чтоб символы не повторялисьfiif (( i > 23 )); then #определяем порядок символовPos=$(( ( 0x${Data:i:2} + Rndd ) % 6 ))# echo -n "$Pos " # debugi=$(( i / 2 - 12 ))a=${Word:i:1} b=${Word:(( i + 4 )):1}c=${Word:(( i + 8 )):1} case $Pos in #магия перестановки 0) Result=$Result$a$b$c ;; #123 1) Result=$Result$a$c$b ;; #132 2) Result=$Result$b$c$a ;; #231 3) Result=$Result$b$a$c ;; #213 4) Result=$Result$c$a$b ;; #312 5) Result=$Result$c$b$a ;; #321 esacfidone # echo "Source: $Word" #debugecho "Ключевое слово: $1"echo "Набор символов: $2"echo "Пароль: $Result"на входе - два слова через пробел, первое - ключевое, определяет позиции символов из наборов. Второе - определяет сам набор.
#!/bin/bashN1=0123456789 #Только цифры!!!Ln1=${#N1}N2=ABCDEFGHIJKLMNOPQRSTUVWXYZLn2=${#N2}N3=abcdefghijklmnopqrstuvwxyzLn3=${#N3}Data=$(echo -n "$2" | sha256sum)for i in `seq 1 $Ln1`; do # собираем первый наборi=$(( i - 1 ))Pos=$(( 0x${Data:i:1} % ${#N1} ))Sym=${N1:Pos:1}Key1=$Key1$SymN1=${N1/$Sym/}done# echo $Key1for i in `seq 1 $Ln2`; do # собираем второй наборi=$(( i - 1 + $Ln1 ))Pos=$(( 0x${Data:i:1} % ${#N2} ))Sym=${N2:Pos:1}Key2=$Key2$SymN2=${N2/$Sym/}done# echo $Key2for i in `seq 1 $Ln3`; do # собираем третий наборi=$(( i - 1 + $Ln1 + $Ln2 ))Pos=$(( ( 0x${Data:i:1} ) % ${#N3} ))Sym=${N3:Pos:1}Key3=$Key3$SymN3=${N3/$Sym/}done# echo $Key3Rndd=$( echo "$Key1 % ${#Key3}" | bc ) # магия =) Data=$(echo -n "$1" | md5sum)# echo $Rnddfor i in `seq 0 2 30`; do # перебираем числа хэша if (( i < 7 )); then # для набора Key1Pos=$(( ( 0x${Data:i:2} + Rndd ) % ${#Key1} )) # позиция символа и немножко магии# echo -n "$Pos " # debugSym=${Key1:Pos:1}Word=$Word$Sym# Key1=${Key1/$Sym/} # можно раскомментить, чтоб символы не повторялисьfiif (( i > 7 && i < 15 )) ; then # для набора Key2Pos=$(( ( 0x${Data:i:2} + Rndd ) % ${#Key2} ))# echo -n "$Pos " #debugSym=${Key2:Pos:1}Word=$Word$Sym# Key2=${Key2/$Sym/} # можно раскомментить, чтоб символы не повторялисьfiif (( i > 15 && i < 23 )); then # для набора Key3Pos=$(( ( 0x${Data:i:2} + Rndd ) % ${#Key3} ))#echo -n "$Pos " #debugSym=${Key3:Pos:1}Word=$Word$Sym# Key3=${Key3/$Sym/} # можно раскомментить, чтоб символы не повторялисьfiif (( i > 23 )); then #определяем порядок символовPos=$(( ( 0x${Data:i:2} + Rndd ) % 6 ))# echo -n "$Pos " # debugi=$(( i / 2 - 12 ))a=${Word:i:1} b=${Word:(( i + 4 )):1}c=${Word:(( i + 8 )):1} case $Pos in #магия перестановки 0) Result=$Result$a$b$c ;; #123 1) Result=$Result$a$c$b ;; #132 2) Result=$Result$b$c$a ;; #231 3) Result=$Result$b$a$c ;; #213 4) Result=$Result$c$a$b ;; #312 5) Result=$Result$c$b$a ;; #321 esacfidone # echo "Source: $Word" #debugecho "Ключевое слово: $1"echo "Набор символов: $2"echo "Пароль: $Result"
Второй день гоняю rarcrack в попытке испытания его на предмет подбора к zip архиву установленного мной "кошачего" пароля "musya".Судя по этой таблице гонять еще долго.Работает со скоростью 200 в сек.Сейчас перебирает 4-х значные пароли.Все таки длинна пароля имеет значение.
по идее топика - нужно было бы в каком-то поле (не в поле формы) ввести свою фразу, из которой будет сформирован пароль
Страница сгенерирована за 0.055 секунд. Запросов: 23.