package Ġcn . tiny hai . aes Ċ Ċ import Ġorg . apache . tomcat . util . codec . binary . Base 6 4 Ċ import Ġjavax . crypto . Cipher Ċ import Ġjavax . crypto . spec . Iv Parameter Spec Ċ import Ġjavax . crypto . spec . SecretKey Spec Ċ Ċ object ĠAES Utils Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠKEY _ ALGORITHM Ġ= Ġ" AES " ĊĊĠĠĠ Ġprivate Ġconst Ġval ĠC IP HER _ ALGORITHM Ġ= Ġ" AES / CBC / PKCS 5 Padding " ĊĊĠĠĠ Ġfun Ġencrypt ( source : ĠString , Ġkey : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Bytes Ġ= Ġ" a ". repeat ( 6 4 ). plus ( source ). toByteArray () ĊĠĠĠĠĠĠĠ Ġval Ġkey Bytes Ġ= Ġkey . toByteArray () ĊĠĠĠĠĠĠĠ Ġval Ġcipher Ġ= ĠCipher . getInstance ( CIPHER _ ALGORITHM ) ĊĠĠĠĠĠĠĠ Ġcipher . init ( Cipher . ENCRYPT _ MODE , ĠSecret KeySpec ( key Bytes , ĠKEY _ ALGORITHM ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠI v Parameter Spec (" a ". repeat ( 1 6 ). toByteArray ())) ĊĠĠĠĠĠĠĠ Ġreturn ĠBase 6 4 . encode Base 6 4 String ( cipher . do Final ( source Bytes )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdecrypt ( encrypted String : ĠString , Ġkey : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġencrypted Bytes Ġ= ĠBase 6 4 . decode Base 6 4 ( encrypted String ) ĊĠĠĠĠĠĠĠ Ġval Ġkey Bytes Ġ= Ġkey . toByteArray () ĊĠĠĠĠĠĠĠ Ġval Ġcipher Ġ= ĠCipher . getInstance ( CIPHER _ ALGORITHM ) ĊĠĠĠĠĠĠĠ Ġcipher . init ( Cipher . DE CRYPT _ MODE , ĠSecret KeySpec ( key Bytes , ĠKEY _ ALGORITHM ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠI v Parameter Spec (" a ". repeat ( 1 6 ). toByteArray ())) ĊĠĠĠĠĠĠĠ Ġreturn Ġcipher . do Final ( encrypted Bytes ). toString ( Charsets . UTF _ 8 ). substring ( 6 4 ); ĊĠĠĠ Ġ} Ċ }