package Ġmodel Ċ Ċ import Ġio . ktor . auth . Principal Ċ import Ġio . ktor . util . hex Ċ import Ġjavax . crypto . Mac Ċ import Ġjavax . crypto . spec . SecretKey Spec Ċ Ċ val Ġhash Key Ġ= Ġhex (" 4 c 6 f 6 e 6 7 2 0 4 c 6 9 7 6 6 5 2 0 4 1 6 6 7 2 6 9 6 b 6 1 2 1 ") Ċ val Ġhmac Key Ġ= ĠSecret KeySpec ( hash Key , Ġ" H mac SHA 1 ") Ċ Ċ fun Ġhash ( password : ĠString ): ĠString Ġ{ ĊĠ Ġval Ġhmac Ġ= ĠMac . getInstance (" H mac SHA 1 ") ĊĠ Ġhmac . init ( hmac Key ) ĊĠ Ġreturn Ġhex ( hmac . do Final ( password . toByteArray ( Charsets . UTF _ 8 ))) Ċ } Ċ Ċ data Ġclass ĠUser Model ( ĊĠ Ġval Ġid : ĠInt , ĊĠ Ġval Ġname : ĠString , ĊĠ Ġval Ġpassword : ĠString , ĊĠ Ġval Ġrole : ĠInt Ċ ) Ġ: ĠPrincipal