Некоторое время я пытался сгенерировать пару ключей RSA с помощью PHP openssl расширение и сохраните результат как пару ключей, совместимую с OpenSSH - это означает, что закрытый ключ закодирован в PEM (что легко), а открытый ключ хранится в специальном формате OpenSSH следующего вида:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABA...more base64 encoded stuff...
Насколько мне удалось собрать этот формат состоит из:
Я пробовал реализовать это с помощью функции PHP pack (), но независимо от того, что я пробую, результат никогда не будет эквивалентен тому, что я получаю от использования ssh-keygen -y -f
для того же закрытого ключа RSA, сгенерированного openssl.
Вот упрощенная версия моего кода:
Возьмите следующий схематический html-код:
<div>
<span id='1' cust-attr='' />
<span id='2' />
<span id='3' cust-attr='Foo' />
</div>
Теперь я ищу селектор, который находит все span
, которые либо не имеют атрибут cust-attr или чье значение cust-attr пусто.
В данном случае это будут 1 и 2.
Я попробовал следующие селекторы и получил следующие результаты:
span [cust-attr! =]
выбирает 2 и 3 span [cust- attr = '']
выбирает только 1 диапазон: not ([cust-attr])
выбирает 2 диапазона (: not ([cust-attr]), [cust-attr = ' '])
выбирает все три диапазона ([cust-attr =' '] ,: not ([cust-attr]))
выбирает 1 Однако я не нашел ни одного, выбирающего только 1 и 2.
Знаете ли вы возможность?
Обратите внимание, что я хочу избежать:
span:not([cust-attr]),span[cust-attr='']
поскольку «диапазон» в действительности является более сложным выражением.