Ho una chiave pubblica come la seguente stringa codificata 64 byte
AAAAB3NzaC1yc2EAAAADAQABAAABAQDapfZSmaVBZimVC7YAsISc+fKzuhbVmmbJNYELWov4ZVbdbFxf790xC0sKQTmbe1iDt25DdsandggApKZh6yvWD0Li5RV+h5wV6chTNwOUe6A7Q4Y4nbMozxTzT0vpMOzZv8+RffzbSnS9GVin/4BACnih10tYzwgCe6y3ei3E5hytSGMkviYIcRQ5x4W2KgSa+BXRSGnpYU69u/b/uF7KDaIhcMqenZBy5YKt4nBYnbKFAgUk/yZRrPq9knVqXO+cQ3ZZlF1KNnrx+o3oR9OqtgjqFyXMyFIiT4oqtXXiVNmoc5C+kg7pDxR4Fcr15xTJpZl8kc8qt+WS5QpLgJjT
quando eseguo un digest sha256 in python e stampo il risultato in base64 come questo:
sha256 = hashlib.sha256()
sha256.update(plaintext.encode())
hash_sha256 = sha256.digest()
print(base64.b64encode(hash_sha256))
Ho un'impronta digitale diversa rispetto a quando faccio
ssh-keygen -lf key.pub
Pensavo che l'impronta digitale sha256 fosse solo la sha256 della chiave pubblica ... Ho provato anche ad aggiungere esattamente cosa c'è nel file key.pub
, cioè:
ssh-rsa ... user@host
ma ho anche un risultato diverso
Quindi, come viene calcolata esattamente l'impronta digitale? Lo stesso vale per MD5?