Skip to main content

generate_password

Function generate_password 

Source
pub fn generate_password(
    username: &str,
    password: &str,
    realm: &str,
    algorithm: PasswordAlgorithm,
) -> Password
Expand description

generate create long term credential.

key = MD5(username “:” OpaqueString(realm) “:” OpaqueString(password))

§Test

use turn_server::codec::crypto::{generate_password, Password};
use turn_server::codec::message::attributes::PasswordAlgorithm;

let buffer = [
    0x3eu8, 0x2f, 0x79, 0x1e, 0x1f, 0x14, 0xd1, 0x73, 0xfc, 0x91, 0xff,
    0x2f, 0x59, 0xb5, 0x0f, 0xd1,
];

let password = generate_password(
    "panda",
    "panda",
    "raspberry",
    PasswordAlgorithm::Md5,
);

match password {
    Password::Md5(it) => {
        assert_eq!(it, buffer);
    }
    Password::Sha256(it) => {
        unreachable!();
    }
}