Expose sign() and verify()
This commit is contained in:
parent
86c0889ae3
commit
1b7ec1057a
|
@ -131,7 +131,7 @@ pub struct TokenData<T: Part> {
|
||||||
|
|
||||||
/// Take the payload of a JWT and sign it using the algorithm given.
|
/// Take the payload of a JWT and sign it using the algorithm given.
|
||||||
/// Returns the base64 url safe encoded of the hmac result
|
/// Returns the base64 url safe encoded of the hmac result
|
||||||
fn sign(data: &str, secret: &[u8], algorithm: Algorithm) -> String {
|
pub fn sign(data: &str, secret: &[u8], algorithm: Algorithm) -> String {
|
||||||
fn crypt<D: Digest>(digest: D, data: &str, secret: &[u8]) -> String {
|
fn crypt<D: Digest>(digest: D, data: &str, secret: &[u8]) -> String {
|
||||||
let mut hmac = Hmac::new(digest, secret);
|
let mut hmac = Hmac::new(digest, secret);
|
||||||
hmac.input(data.as_bytes());
|
hmac.input(data.as_bytes());
|
||||||
|
@ -146,7 +146,7 @@ fn sign(data: &str, secret: &[u8], algorithm: Algorithm) -> String {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Compares the signature given with a re-computed signature
|
/// Compares the signature given with a re-computed signature
|
||||||
fn verify(signature: &str, data: &str, secret: &[u8], algorithm: Algorithm) -> bool {
|
pub fn verify(signature: &str, data: &str, secret: &[u8], algorithm: Algorithm) -> bool {
|
||||||
fixed_time_eq(signature.as_ref(), sign(data, secret, algorithm).as_ref())
|
fixed_time_eq(signature.as_ref(), sign(data, secret, algorithm).as_ref())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue