pub struct Fingerprint(/* private fields */);Expand description
A validated relay fingerprint.
Fingerprints are 40-character hexadecimal strings representing the SHA-1 hash of a relay’s RSA identity key. This type ensures the fingerprint is valid at construction time.
§Format
- Length: exactly 40 characters
- Characters: hexadecimal (0-9, a-f, A-F)
- Stored in uppercase for consistency
§Example
use stem_rs::types::Fingerprint;
use std::str::FromStr;
let fp = Fingerprint::from_str(
"9695DFC35FFEB861329B9F1AB04C46397020CE31"
).unwrap();
assert_eq!(fp.as_str(), "9695DFC35FFEB861329B9F1AB04C46397020CE31");
let invalid = Fingerprint::from_str("ABCD");
assert!(invalid.is_err());Implementations§
Source§impl Fingerprint
impl Fingerprint
Sourcepub fn new(s: impl Into<String>) -> Result<Self, FingerprintError>
pub fn new(s: impl Into<String>) -> Result<Self, FingerprintError>
Creates a new fingerprint from a string.
The input is validated and converted to uppercase.
§Errors
Returns an error if the string is not exactly 40 hexadecimal characters.
Sourcepub fn to_lowercase(&self) -> String
pub fn to_lowercase(&self) -> String
Returns the fingerprint in lowercase.
Trait Implementations§
Source§impl Clone for Fingerprint
impl Clone for Fingerprint
Source§fn clone(&self) -> Fingerprint
fn clone(&self) -> Fingerprint
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
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 Hash for Fingerprint
impl Hash for Fingerprint
Source§impl PartialEq for Fingerprint
impl PartialEq 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
Mutably borrows from an owned value. Read more