package Ġcom . ot us . secure home work . data . source . local Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Build Ċ import Ġandroid . security . keystore . Key Gen Parameter Spec Ċ import Ġandroid . security . keystore . Key Properties Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġandroidx . security . crypto . Master Key Ċ import Ġdagger . h ilt . android . qual ifiers . ApplicationContext Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠSec ured Crypto Key Ġ@ Inject Ġconstructor (@ ApplicationContext Ġval Ġcontext : ĠContext ) Ġ{ ĊĊĠĠĠ Ġval Ġmaster Key : ĠMaster Key ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠMaster Key . Builder ( context ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġset Master Key Parameters ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġit . set Key Scheme ( Master Key . Key Scheme . AES 2 5 6 _ GCM ) ĊĠĠĠĠĠĠĠ Ġ}. build () ĊĊĠĠĠ Ġ@ Requires Api ( Build . VERSION _ CODES . M ) ĊĠĠĠ Ġprivate Ġfun Ġset Master Key Parameters ( master Key Builder : ĠMaster Key . Builder ): ĠMaster Key . Builder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmaster Key Builder . set Key Gen Parameter Spec ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey Gen Parameter Spec . Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaster Key . DEFAULT _ MASTER _ KEY _ ALIAS , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠKey Properties . P URPOSE _ ENCRYPT Ġor ĠKey Properties . P URPOSE _ DE CRYPT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Block Modes ( Key Properties . BLOCK _ MODE _ GCM ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Encryption P add ings ( Key Properties . ENCRYPT ION _ P ADDING _ NONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Key Size ( 2 5 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }