Enum ssh_protocol::Fingerprint
source · #[non_exhaustive]pub enum Fingerprint {
Sha256([u8; 32]),
Sha512([u8; 64]),
}
Expand description
SSH public key fingerprints.
Fingerprints have an associated key fingerprint algorithm, i.e. a hash function which is used to compute the fingerprint.
§Parsing/serializing fingerprint strings
The FromStr
and Display
impls on Fingerprint
can be used to
parse and serialize fingerprints from the string format.
§Example
SHA256:Nh0Me49Zh9fDw/VYUfq43IJmI1T+XrjiYONPND8GzaM
§serde
support
When the serde
feature of this crate is enabled, this type receives impls
of [Deserialize
][serde::Deserialize
] and [Serialize
][serde::Serialize
].
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Sha256([u8; 32])
Fingerprints computed using SHA-256.
Sha512([u8; 64])
Fingerprints computed using SHA-512.
Implementations§
source§impl Fingerprint
impl Fingerprint
sourcepub fn new(algorithm: HashAlg, public_key: &KeyData) -> Fingerprint
pub fn new(algorithm: HashAlg, public_key: &KeyData) -> Fingerprint
Create a fingerprint of the given public key data using the provided hash algorithm.
sourcepub fn prefix(self) -> &'static str
pub fn prefix(self) -> &'static str
Get the name of the hash algorithm (upper case e.g. “SHA256”).
sourcepub fn fmt_randomart(
self,
header: &str,
f: &mut Formatter<'_>,
) -> Result<(), Error>
pub fn fmt_randomart( self, header: &str, f: &mut Formatter<'_>, ) -> Result<(), Error>
Format “randomart” for this fingerprint using the provided formatter.
sourcepub fn to_randomart(self, header: &str) -> String
Available on crate feature alloc
only.
pub fn to_randomart(self, header: &str) -> String
alloc
only.Render “randomart” hash visualization for this fingerprint as a string.
+--[ED25519 256]--+
|o+oO==+ o.. |
|.o++Eo+o.. |
|. +.oO.o . . |
| . o..B.. . . |
| ...+ .S. o |
| .o. . . . . |
| o.. o |
| B . |
| .o* |
+----[SHA256]-----+
Trait Implementations§
source§impl AsRef<[u8]> for Fingerprint
impl AsRef<[u8]> for Fingerprint
source§impl Clone for Fingerprint
impl Clone for Fingerprint
source§fn clone(&self) -> Fingerprint
fn clone(&self) -> Fingerprint
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for Fingerprint
impl Debug for Fingerprint
source§impl Display for Fingerprint
impl Display for Fingerprint
source§impl FromStr for Fingerprint
impl FromStr for Fingerprint
source§impl Ord for Fingerprint
impl Ord for Fingerprint
source§fn cmp(&self, other: &Fingerprint) -> Ordering
fn cmp(&self, other: &Fingerprint) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for Fingerprint
impl PartialEq for Fingerprint
source§fn eq(&self, other: &Fingerprint) -> bool
fn eq(&self, other: &Fingerprint) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for Fingerprint
impl PartialOrd for Fingerprint
source§fn partial_cmp(&self, other: &Fingerprint) -> Option<Ordering>
fn partial_cmp(&self, other: &Fingerprint) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moreimpl Copy for Fingerprint
impl Eq for Fingerprint
impl StructuralPartialEq for Fingerprint
Auto Trait Implementations§
impl Freeze for Fingerprint
impl RefUnwindSafe for Fingerprint
impl Send for Fingerprint
impl Sync for Fingerprint
impl Unpin for Fingerprint
impl UnwindSafe for Fingerprint
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)