在Linux下运行引入了外部jar包的java程序

2020-12-01  本文已影响0人  zlchen
编译:

javac -cp commons-codec-1.15.jar CryptAES.java

或者 javac -classpath commons-codec-1.15.jar CryptAES.java

运行:

java -cp $CLASSPATH:commons-codec-1.15.jar CryptAES

或者 java -classpath $CLASSPATH:commons-codec-1.15.jar CryptAES

[root@iZj6c0dk32hfzgpetzxlcrZ ~]# cd java
[root@iZj6c0dk32hfzgpetzxlcrZ java]# ls
commons-codec-1.15.jar  commons-codec-1.1.jar  CryptAES.class  CryptAES.java  Demo.class  Demo.java  Jpro2_1.class  Jpro2_1.java
[root@iZj6c0dk32hfzgpetzxlcrZ java]# javac -cp commons-codec-1.15.jar CryptAES.java
[root@iZj6c0dk32hfzgpetzxlcrZ java]# java -classpath $CLASSPATH:commons-codec-1.15.jar CryptAES
fhTD0NNIzv4jUEhJuC1htFFXJ/4S/rL6tDCJPiNvJ8mVLHWOD0HWweuxHynxoZf9
this is a string will be AES_Encrypt
[root@iZj6c0dk32hfzgpetzxlcrZ java]#

示例代码:

import java.security.Key; 
import javax.crypto.Cipher; 
import javax.crypto.spec.SecretKeySpec; 
 
import org.apache.commons.codec.binary.Base64;

  
public class CryptAES { 
  
    private static final String AESTYPE ="AES/ECB/PKCS5Padding"; 
 
    public static String AES_Encrypt(String keyStr, String plainText) { 
        byte[] encrypt = null; 
        try{ 
            Key key = generateKey(keyStr); 
            Cipher cipher = Cipher.getInstance(AESTYPE); 
            cipher.init(Cipher.ENCRYPT_MODE, key); 
            encrypt = cipher.doFinal(plainText.getBytes());     
        }catch(Exception e){ 
            e.printStackTrace(); 
        }
        return new String(Base64.encodeBase64(encrypt)); 
    } 
 
    public static String AES_Decrypt(String keyStr, String encryptData) {
        byte[] decrypt = null; 
        try{ 
            Key key = generateKey(keyStr); 
            Cipher cipher = Cipher.getInstance(AESTYPE); 
            cipher.init(Cipher.DECRYPT_MODE, key); 
            decrypt = cipher.doFinal(Base64.decodeBase64(encryptData)); 
        }catch(Exception e){ 
            e.printStackTrace(); 
        } 
        return new String(decrypt).trim(); 
    } 
 
    private static Key generateKey(String key)throws Exception{ 
        try{            
            SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(), "AES"); 
            return keySpec; 
        }catch(Exception e){ 
            e.printStackTrace(); 
            throw e; 
        } 
 
    } 
 
    public static void main(String[] args) { 
         
        String keyStr = "UITN25LMUQC436IM";  
 
        String plainText = "this is a string will be AES_Encrypt";
         
        String encText = AES_Encrypt(keyStr, plainText);
        String decString = AES_Decrypt(keyStr, encText); 
         //  fhTD0NNIzv4jUEhJuC1htFFXJ/4S/rL6tDCJPiNvJ8mVLHWOD0HWweuxHynxoZf9
        System.out.println(encText); 
        //  this is a string will be AES_Encrypt
        System.out.println(decString); 
 
    } 
}
上一篇下一篇

猜你喜欢

热点阅读