[−][src]Struct textnonce::TextNonce
A nonce is a cryptographic concept of an arbitrary number that is never used more than once.
TextNonce
is a nonce because the first 16 characters represents the current time, which
will never have been generated before, nor will it be generated again, across the period of
time in which a Timespec
(or chrono::DateTime
) is valid.
TextNonce
additionally includes bytes of randomness, making it difficult to predict.
This makes it suitable to be used for session IDs.
It is also text-based, using only characters in the base64 character set.
Methods
impl TextNonce
[src]
pub fn new() -> TextNonce
[src]
Generate a new TextNonce
with 16 characters of time and 16 characters of
randomness
pub fn sized(length: usize) -> Result<TextNonce, String>
[src]
Generate a new TextNonce
. length
must be at least 16, and divisible by 4.
The first 16 characters come from the time component, and all characters
after that will be random.
pub fn sized_urlsafe(length: usize) -> Result<TextNonce, String>
[src]
Generate a new TextNonce
using the URL_SAFE
variant of base64 (using '_' and '-')
length
must be at least 16, and divisible by 4. The first 16 characters come
from the time component, and all characters after that will be random.
pub fn sized_configured(
length: usize,
config: Config
) -> Result<TextNonce, String>
[src]
length: usize,
config: Config
) -> Result<TextNonce, String>
Generate a new TextNonce
specifying the Base64 configuration to use.
length
must be at least 16, and divisible by 4. The first 16 characters come
from the time component, and all characters after that will be random.
pub fn into_string(self) -> String
[src]
Convert into a string
Trait Implementations
impl Clone for TextNonce
[src]
impl Debug for TextNonce
[src]
impl Default for TextNonce
[src]
impl Deref for TextNonce
[src]
impl<'de> Deserialize<'de> for TextNonce
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Display for TextNonce
[src]
impl PartialEq<TextNonce> for TextNonce
[src]
impl Serialize for TextNonce
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl StructuralPartialEq for TextNonce
[src]
Auto Trait Implementations
impl RefUnwindSafe for TextNonce
impl Send for TextNonce
impl Sync for TextNonce
impl Unpin for TextNonce
impl UnwindSafe for TextNonce
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,