Java:为什么这段加密代码会报错呢?求解
importjava.io.UnsupportedEncodingException;publicclassDemo{publicstaticvoidmain(Strin...
import java.io.UnsupportedEncodingException;
public class Demo {
public static void main(String[] args) {
try {
String tmp=java.net.URLEncoder.encode("douya0808","base64");
System.out.println("加密:"+tmp);
String result=java.net.URLDecoder.decode(tmp,"base64");
System.out.println("解密:"+result);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
报错如下:
java.io.UnsupportedEncodingException: base64
at java.net.URLEncoder.encode(URLEncoder.java:200)
at servlet.Demo.main(Demo.java:8) 展开
public class Demo {
public static void main(String[] args) {
try {
String tmp=java.net.URLEncoder.encode("douya0808","base64");
System.out.println("加密:"+tmp);
String result=java.net.URLDecoder.decode(tmp,"base64");
System.out.println("解密:"+result);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
报错如下:
java.io.UnsupportedEncodingException: base64
at java.net.URLEncoder.encode(URLEncoder.java:200)
at servlet.Demo.main(Demo.java:8) 展开
3个回答
展开全部
具体我不知道怎么解决 不过意思就是encode没有base64的编码格式 base64在java里好像没有 所以会报错 base64可手写 请参考 http://baggioback.iteye.com/blog/1828289
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-20 · 知道合伙人数码行家
关注
展开全部
您好,提问者:
Java没有base64这个,可以填写GBK、UTF-8等。
Java没有base64这个,可以填写GBK、UTF-8等。
更多追问追答
追问
但是现在需要对URL进行编码、解码,不想要名文显示该用哪个编码呢
追答
百度的是GBK,不过也对UTF-8进行了处理。
建议使用GBK加密进行传输。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
缺包charsets.jar
追问
加了也报
追答
可能放置位置不对,也可能是包不对
试试下面代码
import java.io.UnsupportedEncodingException;
import org.apache.commons.codec.binary.Base64;
public class Base64Test {
public static void main(String[] args){
String str = "douya0808";
try{
byte[] encodeBase64 = Base64.encodeBase64(str.getBytes("UTF-8"));
System.out.println("RESULT: " + new String(encodeBase64));
} catch(UnsupportedEncodingException e){
e.printStackTrace();
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询