package Ġcom . dev sk ar . keystore Ċ Ċ /** Ċ Ġ* Ġ@ author ĠO sc ar ĠD ÃŃ az Ċ Ġ* Ġ@ version Ġ 1 . 1 , Ġ 2 0 2 1 / 0 9 / 0 5 Ċ Ġ* Ċ Ġ* ĠEl ĠcÃ³digo Ġforma Ġparte Ġdel Ġresp ositor io Ġ" Android Kotlin " Ċ Ġ* ĠGithub : Ġhttps :// github . com / Osc ar D 2 4 1 / Android Kotlin Ċ Ġ* Ċ Ġ*/ Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . security . keystore . Key Properties Ċ import Ġandroid . widget . Toast Ċ import Ġcom . dev sk ar . keystore . adapters . KeyStore Adapter ĊĊ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoriginal Ġ= Ġ" H ola ĠM undo " Ġ// cad ena Ġa Ġc if rar ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġal gorit mo Ġ= ĠKey Properties . KEY _ ALGORITHM _ AES Ġ// al gorit mo Ġpara Ġc if rado ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġblock Mode Ġ= ĠKey Properties . BLOCK _ MODE _ CBC Ġ// mod o Ġde Ġblo ques ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpadding Ġ= ĠKey Properties . ENCRYPT ION _ P ADDING _ PKCS 7 Ġ// padding Ġpara Ġel Ġal gorit mo ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Size Ġ= Ġ 2 5 6 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġks Adapter Ġ= ĠKey Store Adapter ( al gorit mo , Ġblock Mode , Ġpadding , Ġkey Size ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġks Adapter . generate Key () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġks Adapter . load Key ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey From Ks Ġ= Ġks Adapter . getKey From KeyStore () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġc if rado Ġ= Ġks Adapter . encrypt ( key From Ks , Ġoriginal ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdesc if rado Ġ= Ġks Adapter . decrypt ( key From Ks , Ġc if rado ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġdesc if rado , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }