🚧 wip: working on avalanche idea to make MACs easier for humans to read
parent
f121e3fd55
commit
d9fd0fd29d
|
@ -0,0 +1,40 @@
|
|||
type Mac = [u8; 6];
|
||||
|
||||
pub fn debug () {
|
||||
for input in [
|
||||
[0, 0, 0, 0, 0, 0],
|
||||
[0, 0, 0, 0, 0, 1],
|
||||
[1, 0, 0, 0, 0, 0],
|
||||
[1, 0, 0, 0, 0, 1],
|
||||
] {
|
||||
assert_eq! (unmix (mix (input)), input);
|
||||
}
|
||||
|
||||
println! ("Passed");
|
||||
}
|
||||
|
||||
// NOT intended for any cryptography or security. This is TRIVIALLY reversible.
|
||||
// It's just to make it easier for humans to tell apart MACs where only a couple
|
||||
// numbers differ.
|
||||
|
||||
fn mix (i: Mac) -> Mac {
|
||||
[
|
||||
i [0] ^ i [5],
|
||||
i [1] ^ i [4],
|
||||
i [2] ^ i [3],
|
||||
i [3],
|
||||
i [4],
|
||||
i [5],
|
||||
]
|
||||
}
|
||||
|
||||
fn unmix (i: Mac) -> Mac {
|
||||
[
|
||||
i [0] ^ i [5],
|
||||
i [1] ^ i [4],
|
||||
i [2] ^ i [3],
|
||||
i [3],
|
||||
i [4],
|
||||
i [5],
|
||||
]
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
use prelude::*;
|
||||
|
||||
pub mod app_common;
|
||||
mod avalanche;
|
||||
mod client;
|
||||
mod ip;
|
||||
pub mod message;
|
||||
|
@ -31,6 +32,7 @@ async fn async_main () -> Result <(), AppError> {
|
|||
Some ("--version") => println! ("lookaround v{}", LOOKAROUND_VERSION),
|
||||
Some ("client") => client::client (args).await?,
|
||||
Some ("config") => config (),
|
||||
Some ("debug-avalanche") => avalanche::debug (),
|
||||
Some ("find-nick") => client::find_nick (args).await?,
|
||||
Some ("my-ips") => my_ips ()?,
|
||||
Some ("server") => server::server (args).await?,
|
||||
|
|
Loading…
Reference in New Issue