【问题标题】:Phpseclib ssh2_fingerprint equivalentphpseclib ssh2_fingerprint 等效项
【发布时间】:2017-01-21 03:09:31
【问题描述】:

我正在尝试将一些使用 ssh2_sftp 函数的旧代码重构为 phpseclib 库。

但是,我找不到 ssh2_fingerprint 函数的等效函数,或者说它是散列算法。您可以从服务器获取主机密钥,但我的哈希值不太正确。

有人可以在这里提供一些有用的东西吗?

原创

ssh2_fingerprint($connection, SSH2_FINGERPRINT_SHA1 | SSH2_FINGERPRINT_HEX);

新代码(可能)

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

还是说这到底是错的?

【问题讨论】:

    标签: php hash ssh sftp phpseclib


    【解决方案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);
    }
    

    【讨论】:

      猜你喜欢
      • 2016-03-15
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 2015-05-20
      • 2010-10-20
      • 2022-01-17
      • 2013-09-27
      相关资源
      最近更新 更多