Importjava.util.Base64;ImportJavax.crypto.Cipher;ImportJavax.crypto.SecretKey;Importjavax.crypto.SecretKeyFactory;ImportJavax.crypto.spec.DESKeySpec;ImportJavax.crypto.spec.IvParameterSpec; Public classSecurityutil {Private Static FinalString PASSWORD = "Des20170726202423156end"; Private Static FinalString algorithm = "des/cbc/pkcs5padding"; Private Static Final byte[] IV = {1,2,3,4,5,6,7,8}; /*** Encryption *@paramData *@return * @throwsException*/ Public StaticString Encrypt (String data)throwsexception{if(data==NULL|| Data.length () ==0){ return""; } ivparameterspec param=NewIvparameterspec (iv); Deskeyspec Deskey=NewDeskeyspec (Password.getbytes ()); Secretkeyfactory keyfactory= Secretkeyfactory.getinstance ("DES"); Secretkey Secretkey=Keyfactory.generatesecret (Deskey); Cipher Cipher=cipher.getinstance (algorithm); Cipher.init (Cipher.encrypt_mode, Secretkey, param); byte[] bytes =cipher.dofinal (Data.getbytes ()); returnBase64.getencoder (). encodetostring (bytes); } /*** Decryption *@paramData *@return * @throwsException*/ Public StaticString decrypt (String data)throwsexception{if(data==NULL|| Data.length () ==0){ return""; } ivparameterspec param=NewIvparameterspec (iv); Deskeyspec Deskey=NewDeskeyspec (Password.getbytes ()); Secretkeyfactory keyfactory= Secretkeyfactory.getinstance ("DES"); Secretkey Secretkey=Keyfactory.generatesecret (Deskey); Cipher Cipher=cipher.getinstance (algorithm); Cipher.init (Cipher.decrypt_mode, Secretkey, param); byte[] bytes =cipher.dofinal (Base64.getdecoder (). Decode (Data.getbytes ())); return NewString (bytes); }
Java Symmetric encryption Algorithm des implementation