rust-nex/src/nex/account.rs

38 lines
803 B
Rust
Raw Normal View History

2025-02-01 17:18:52 +01:00
pub struct Account{
pub pid: u32,
pub username: Box<str>,
pub kerbros_password: [u8; 16],
2025-02-01 17:18:52 +01:00
}
impl Account{
pub fn new(pid: u32, username: &str, passwd: &str) -> Self{
let passwd_data = passwd.as_bytes();
let mut passwd = [0u8; 16];
for (idx, byte) in passwd_data.iter().enumerate(){
passwd[idx] = *byte;
}
Self{
kerbros_password: passwd,
username: username.into(),
pid
}
}
pub fn new_raw_password(pid: u32, username: &str, passwd: [u8; 16]) -> Self{
2025-02-01 17:18:52 +01:00
Self{
kerbros_password: passwd,
username: username.into(),
2025-02-01 17:18:52 +01:00
pid
}
}
pub fn get_login_data(&self) -> (u32, [u8; 16]){
(self.pid, self.kerbros_password)
}
2025-02-01 17:18:52 +01:00
}