2017-01-19 1 views
1

phpseclib 라이브러리에 ssh2_sftp 함수를 사용하는 일부 오래된 코드를 리펙토링하려고합니다.Phpseclib ssh2_fingerprint equivalent

그러나 ssh2_fingerprint 함수에 해당하는 함수를 찾을 수 없거나 해시 알고리즘을 찾을 수 없습니다. 당신은 서버에서 호스트 키를 얻을 수 있지만 좀 해킹 권리를 얻을하지 않습니다.

누군가 도움이 될만한 사람이 있습니까?

원래

ssh2_fingerprint($connection, SSH2_FINGERPRINT_SHA1 | SSH2_FINGERPRINT_HEX); 

새로운 코드 (아마도)는

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

또는 모든 후이 잘못?

답변

0

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); 
}