openssl --есть ли ограничение по соли?

Это вернет информацию о файле, которую вы можете получить из заголовка:

curl --head http://speedtest.newark.linode.com/100MB-newark.bin

Он вернется:

HTTP/1.1 200 OK
Server: nginx
Date: Sat, 28 Sep 2019 12:47:03 GMT
Content-Type: application/octet-stream
Content-Length: 104857600
Last-Modified: Thu, 01 Aug 2019 16:35:25 GMT
Connection: keep-alive
ETag: "5d4314cd-6400000"
Accept-Ranges: bytes

Если это то, что вам нужно, вы можете написать сценарий bash для создания файла таблицы/html с этой информацией.

Вы можете использовать это в таком скрипте:

#!/bin/sh

cat  << EOF
<table>
    <thead>
        <tr>
            <th>ver</th>
            <th>link</th>
            <th>modified</th>
            <th>size</th>
        </tr>
    </thead>
    <tbody>
EOF

$i=1

cat urls.list | while read url
do
        file_info=$(curl -s --head "$url")
        last_modified=$(echo "$file_info" | grep Last-Modified | cut -c16- | tr -d '\r\n')
        content_length=$(echo "$file_info" | grep Content-Length | cut -c17- | tr -d '\r\n')

cat  << EOF
        <tr>
            <td>1.0.$i</td>
            <td><a href="$url">download</a></td>
            <td>$last_modified</td>
            <td>$content_length</td>
        </tr>
EOF
let "i++"
done

cat << EOF
    </tbody>
</table>
EOF

Вам необходимо создать файл с именем urls.list, который должен содержать по одному URL-адресу в каждой строке. Вот так:

http://speedtest.newark.linode.com/100MB-newark.bin
http://speedtest.tokyo2.linode.com/100MB-tokyo2.bin

Запуск сценария приведет к такому результату:

<table>
    <thead>
        <tr>
            <th>ver</th>
            <th>link</th>
            <th>modified</th>
            <th>size</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1.0.1</td>
            <td><a href="http://speedtest.newark.linode.com/100MB-newark.bin">download</a></td>
            <td>Thu, 01 Aug 2019 16:35:25 GMT</td>
            <td>104857600</td>
        </tr>
    </tbody>
</table>

Если вам нужно конкретное имя версии, вы можете сохранить его в файле списка с разделителем (, например.:version name|url). И нужно будет немного изменить код. Теперь он просто следует порядку списка URL-адресов.

0
18.01.2021, 14:46
2 ответа

В алгоритме cryptограничение соли составляет 12 бит . Другие алгоритмы поддерживают более длинные соли; с openssl passwdвы должны использовать -5или -6.

См. также Как найти алгоритм хеширования, используемый для хеширования паролей?

2
18.03.2021, 22:35

Алгоритм -cryptдля openssl passwdявляется устаревшим алгоритмом, который больше не следует использовать. Это может быть грубо -принуждено при умеренных затратах . Это традиционный DES -основанный crypt()алгоритм хеширования паролей , который был представлен в Seventh Edition Unix в 1979 году. 8 печатных символов ASCII. Это не имеет никакой практической ценности, кроме исторических целей или крайне устаревших (и небезопасных )систем.

Любой, кто использует его в примере кода, либо не понимает, о чем говорит, либо не заботится о том, чтобы дать хороший совет. Если вы видите openssl passwd -cryptв примере чего-либо, кроме очень старого, унаследованного использования, бегите прочь.

Для хеширования пароля используйте в порядке предпочтения:

  • Argon2 , официальный стандарт с 2015 г.
  • scrypt , который требует жесткой памяти -.
  • bcrypt , PBKDF2 или аналогичные алгоритмы Unix SHA -crypt , которые являются жесткими для ЦП -, но не для памяти -.

OpenSSL реализует только алгоритмы Unix(openssl passwd -5или openssl passwd -6, причем -5немного быстрее на 32 -битных машинах, а -6— на 64 -битных машинах ).

Ни в одном из них не используется смехотворно маленькая (по сегодняшним меркам )соль.

См. также В 2018 году какой хэш рекомендуется для хранения паролей :bcrypt, scrypt, Argon2?и Как безопасно хэшировать пароли? .

0
18.03.2021, 22:35

Теги

Похожие вопросы