package Ġcom . pol ito . s ism ic . Inter actors . Helpers Ċ Ċ import Ġandroid . util . Base 6 4 Ċ import Ġjava . nio . charset . Charset Ċ import Ġjavax . crypto . Cipher Ċ import Ġjavax . crypto . spec . SecretKey Spec ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby ĠMat te o Ġon Ġ 1 4 / 1 0 / 2 0 1 7 . Ċ Ġ*/ Ċ class ĠAES Crypt Helper Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠAL G ORITHM Ġ= Ġ" AES / CBC / PKCS 5 Padding " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠKEY Ġ= Ġ" se ism ics ver ifies " ĊĊĠĠĠĠĠĠĠ Ġfun Ġencrypt ( value : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġgenerate Key () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcipher Ġ= ĠCipher . getInstance ( ALGORITHM ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcipher . init ( Cipher . ENCRYPT _ MODE , Ġkey ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġencrypted Byte Value Ġ= Ġcipher . do Final ( value . toByteArray ( charset (" utf - 8 "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBase 6 4 . encode ToString ( encrypted Byte Value , ĠBase 6 4 . DEFAULT ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġdecrypt ( value : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġkey Ġ= Ġgenerate Key () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcipher Ġ= ĠCipher . getInstance ( ALGORITHM ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcipher . init ( Cipher . DE CRYPT _ MODE , Ġkey ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecrypted Value 6 4 Ġ= ĠBase 6 4 . decode ( value , ĠBase 6 4 . DEFAULT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdecrypted Byte Value Ġ= Ġcipher . do Final ( de crypted Value 6 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠString ( de crypted Byte Value , ĠCharset . default Charset ()) ĠĠĠĠ Ġ// utf - 8 ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġgenerate Key (): ĠSecret KeySpec Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSecret KeySpec ( AES Crypt Helper . KEY . toByteArray (), ĠAES Crypt Helper . ALGORITHM ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }