/** Ċ Ġ* Ġ< s late _ header > Ċ Ġ* Ġurl : Ġwww . s late kit . com Ċ Ġ* Ġgit : Ġwww . github . com / code - helix / s late kit Ċ Ġ* Ġorg : Ġwww . code helix . co Ċ Ġ* Ġauthor : ĠK ish ore ĠRed dy Ċ Ġ* Ġcopyright : Ġ 2 0 1 6 ĠCode Hel ix ĠSolutions ĠInc . Ċ Ġ* Ġlicense : Ġrefer Ġto Ġwebsite Ġand / or Ġgithub Ċ Ġ* Ġabout : ĠA Ġtool - kit , Ġutility Ġlibrary Ġand Ġserver - backend Ċ Ġ* Ġman tra : ĠSimp licity Ġabove Ġall Ġelse Ċ Ġ* Ġ</ s late _ header > Ċ Ġ*/ Ċ Ċ package Ġs late kit . common . encrypt Ċ Ċ import Ġjava . util .* Ċ import Ġjavax . crypto . Cipher Ċ import Ġjavax . crypto . spec . Iv Parameter Spec Ċ import Ġjavax . crypto . spec . SecretKey Spec Ċ Ċ /** Ċ Ġ* ĠEncryption Ġimplementation Ġusing ĠAES Ċ Ġ*/ Ċ object ĠEncrypt or AES Ġ{ ĊĊĠĠĠ Ġfun Ġencrypt ( key : ĠString , Ġiv : ĠString , Ġtext : ĠString , Ġb 6 4 : B 6 4 ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġiv Spec Ġ= ĠI v Parameter Spec ( iv . toByteArray ()) ĊĠĠĠĠĠĠĠ Ġval Ġkey Spec Ġ= ĠSecret KeySpec ( key . toByteArray (), Ġ" AES ") ĊĠĠĠĠĠĠĠ Ġval Ġcipher Ġ= ĠCipher . getInstance (" AES / CBC / PKCS 5 P ADDING ") ĊĠĠĠĠĠĠĠ Ġcipher . init ( Cipher . ENCRYPT _ MODE , Ġkey Spec , Ġiv Spec ) ĊĠĠĠĠĠĠĠ Ġval Ġencrypted Ġ= Ġcipher . do Final ( text . toByteArray ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġb 6 4 . encode ( encrypted . to Typed Array (). toByteArray ()) ĊĠĠĠĠĠĠĠ Ġ// return Ġbase 6 4 Encode ( encrypted . to Typed Array ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdecrypt ( key : ĠString , Ġiv : ĠString , Ġtext : ĠString , Ġb 6 4 : B 6 4 ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġiv Spec Ġ= ĠI v Parameter Spec ( iv . toByteArray ()) ĊĠĠĠĠĠĠĠ Ġval Ġkey Spec Ġ= ĠSecret KeySpec ( key . toByteArray (), Ġ" AES ") ĊĠĠĠĠĠĠĠ Ġval Ġcipher Ġ= ĠCipher . getInstance (" AES / CBC / PKCS 5 P ADDING ") ĊĠĠĠĠĠĠĠ Ġcipher . init ( Cipher . DE CRYPT _ MODE , Ġkey Spec , Ġiv Spec ) ĊĠĠĠĠĠĠĠ Ġ// val Ġdecoded Ġ= Ġbase 6 4 Decode ( text ) ĊĠĠĠĠĠĠĠ Ġval Ġdecoded Ġ= Ġb 6 4 . decode ( text ) ĊĠĠĠĠĠĠĠ Ġval Ġdecrypted Bytes Ġ= Ġcipher . do Final ( decoded ) ĊĠĠĠĠĠĠĠ Ġval Ġdecrypted Ġ= ĠString ( de crypted Bytes ) ĊĠĠĠĠĠĠĠ Ġreturn Ġdecrypted ĊĠĠĠ Ġ} Ċ Ċ // ĠĠĠ Ġprivate Ġfun Ġbase 6 4 Encode ( bytes : ĠArray < Byte >): ĠString Ġ= Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠBase 6 4 . get Encoder (). without Padding (). encode ToString ( bytes . toByteArray ()) Ċ // Ċ // ĠĠĠ Ġprivate Ġfun Ġbase 6 4 Decode ( text : ĠString ): ĠArray < Byte > Ġ= Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠBase 6 4 . get Decoder (). decode ( text . toByteArray ()). to Typed Array () Ċ } Ċ