1
0
Fork 0
mirror of https://github.com/ansible-collections/hetzner.hcloud.git synced 2026-02-04 08:01:49 +00:00
hetzner.hcloud/plugins/module_utils/_ssh.py

21 lines
653 B
Python

# Note that this module util is **PRIVATE** to the collection. It can have breaking changes at any time.
# Do not use this from other collections or standalone plugins/modules!
from __future__ import annotations
from base64 import b64decode
from hashlib import md5
def ssh_public_key_md5_fingerprint(value: str) -> str:
"""
Compute the md5 fingerprint of a SSH public key.
"""
parts = value.strip().split()
if len(parts) < 2:
raise ValueError("invalid ssh public key")
raw = b64decode(parts[1].encode("ascii"))
digest = md5(raw).hexdigest()
return ":".join(a + b for a, b in zip(digest[::2], digest[1::2]))