java aes base64

来源:互联网 发布:star走心机编程 编辑:程序博客网 时间:2024/05/21 08:40

对于java的aes加密,我参考了这里:
https://github.com/stevenholder/PHP-Java-AES-Encrypt.git

编译的时候报错:

andy@AndyMacBookPro:/usr/local/webdata/java/PHP-Java-AES-Encrypt$ javac -classpath ./libs/commons-codec-1.10-javadoc.jar security.javasecurity.java:6:Security 是公共的,应在名为 Security.java 的文件中声明public class Security {       ^security.java:4: 软件包 org.apache.commons.codec.binary 不存在import org.apache.commons.codec.binary.Base64;                                      ^security.java:17: 找不到符号符号: 变量 Base64位置: 类 Security        return new String(Base64.encodeBase64(crypted));                          ^security.java:26: 找不到符号符号: 变量 Base64位置: 类 Security          output = cipher.doFinal(Base64.decodeBase64(input));                                  ^4 错误andy@AndyMacBookPro:/usr/local/webdata/java/PHP-Java-AES-Encrypt$ ll

http://commons.apache.org/codec/

http://commons.apache.org/proper/commons-codec/download_codec.cgi

下载commons-codec-1.10-bin.tar.gz

然后解压之后,将 commons-codec-1.10.jar 移动到 ./libs/目录下,然后编译的时候通过 javac -cp ./libs/commons-codec-1.10.jar security.java 来编译即可:

andy@AndyMacBookPro:/usr/local/webdata/java/PHP-Java-AES-Encrypt$ javac -classpath ./libs/commons-codec-1.10.jar security.javasecurity.java:6:Security 是公共的,应在名为 Security.java 的文件中声明public class Security {       ^1 错误andy@AndyMacBookPro:/usr/local/webdata/java/PHP-Java-AES-Encrypt$ mv security.java Security.javaandy@AndyMacBookPro:/usr/local/webdata/java/PHP-Java-AES-Encrypt$ javac -classpath ./libs/commons-codec-1.10.jar Security.javaandy@AndyMacBookPro:/usr/local/webdata/java/PHP-Java-AES-Encrypt$

原来是大小写的问题。。。

但是虽然我们编译通过,但是继续执行的话,还会报错:

andy@AndyMacBookPro:/usr/local/webdata/java/PHP-Java-AES-Encrypt$ javac -cp ./libs/commons-codec-1.10.jar security.javaandy@AndyMacBookPro:/usr/local/webdata/java/PHP-Java-AES-Encrypt$ java securityException in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64    at security.encrypt(security.java:10)    at security.main(security.java:23)Caused by: java.lang.ClassNotFoundException: org.apache.commons.codec.binary.Base64    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)    at java.security.AccessController.doPrivileged(Native Method)    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)    ... 2 moreandy@AndyMacBookPro:/usr/local/webdata/java/PHP-Java-AES-Encrypt$

这是???经过检查发现,这是一个普遍存在的问题,原因就在于classpath目录没有加入”.”这个当前目录。

可以试试去 ~/.bash_profile 里添加一下java的classpath:

export CLASSPATH=.:/usr/local/webdata/java/PHP-Java-AES-Encrypt/libs/commons-codec-1.10.jar

然后不要忘了 source ~/.bash_profile , 然后我们再回去执行java试试~~

0 0
原创粉丝点击