gpt4 book ai didi

python - 从 Python 中的公钥派生 SSH 指纹

转载 作者:IT老高 更新时间:2023-10-28 20:50:56 28 4
gpt4 key购买 nike

我正在尝试了解获取 OpenSSH 公钥的步骤,如下所示:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAqmEmDTNBC6O8HGCdu0MZ9zLCivDsYSttrrmlq87/YsEBpvwUTiF3UEQuFLaq5Gm+dtgxJewg/UwsZrDFxzpQhCHB6VmqrbKN2hEIkk/HJvCnAmR1ehXv8n2BWw3Jlw7Z+VgWwXAH50f2HWYqTaE4qP4Dxc4RlElxgNmlDPGXw/dYBvChYBG/RvIiTz1L+pYzPD4JR54IMmTOwjcGIJl7nk1VjKvl3D8Wgp6qejv4MfZ7Htdc99SUKcKWAeHYsjPXosSk3GlwKiS/sZi51Yca394GE7T4hZu6HTaXeZoD8+IZ7AijYn89H7EPjuu0iCAa/cjVzBsFHGszQYG+U5KfIw==

然后将其转换为标准指纹,如下所示:

2048 49:d3:cb:f6:00:d2:93:43:a6:27:07:ca:12:fd:5d:98 id_rsa.pub (RSA)

我试图深入研究 OpenSSH 源代码以了解这一点,但它超出了我的想象。我的第一个猜测是对关键文本做一个简单的 MD5,但结果与上面的输出不匹配。

最佳答案

它是base64编码 key 的MD5和:

import base64
import hashlib

def lineToFingerprint(line):
key = base64.b64decode(line.strip().split()[1].encode('ascii'))
fp_plain = hashlib.md5(key).hexdigest()
return ':'.join(a+b for a,b in zip(fp_plain[::2], fp_plain[1::2]))

关于python - 从 Python 中的公钥派生 SSH 指纹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6682815/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com