Phpseclib ssh2_fingerprint эквивалент

Я пытаюсь реорганизовать какой-то старый код, который использует функции ssh2_sftp, в библиотеку phpseclib.

Однако я не смог найти эквивалент для функции ssh2_fingerprint, точнее, для ее алгоритма хэширования. Вы можете получить ключ хоста с сервера, но я вроде не правильно понимаю хеширование.

Может ли кто-нибудь предоставить что-нибудь полезное здесь?

оригинал

ssh2_fingerprint($connection, SSH2_FINGERPRINT_SHA1 | SSH2_FINGERPRINT_HEX);

Новый код (возможно)

hash('HOW?', $Net_SFTP->getServerPublicHostKey());

Или это все-таки не так?

1

Решение

https://github.com/phpseclib/libssh2-compatibility-layer делает то, что вы пытаетесь сделать. Вот это реализация ssh2_fingerprint:

function ssh2_fingerprint($session, $flags = 0)
{
$hostkey = substr($session->getServerPublicHostKey(), 8);
$hostkey = ($flags & 1) ? sha1($hostkey) : md5($hostkey);
return ($flags & 2) ? pack('H*', $hostkey) : strtoupper($hostkey);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector