android中常用的加密,Android中常用的编码和解码(加密和解密)的问题

1.URL Encoding

编码目的是为了在?址上可以包含中文等特殊字符

解码是为了把编码后的内容还原成原始的内容

格式如下%9C%3C%F3%98 规则: %hex_byte

就是将实际的字节转换为十六进制进行显示

编码URLEncoder.encode(String str, String charset)

解码 URLDecoder.encode(String str, String charset)

eg.    %E6%88%91%E6%98%AFvhly%EF%BC%8C%E4%BD%A0%E6%98%AF%E8%B0%81%3F 该字符串代表什么内容?

cdec0645add3fc3c328197dda5c76203.png

81178cc93a2a3bb5048d90d76e7ec935.png

1 @Override2 protected voidonCreate(Bundle savedInstanceState) {3 super.onCreate(savedInstanceState);4 setContentView(R.layout.activity_main);5

6 /**解码演示*/

7

8 //解码之前的字符串

9 String str1= " %E6%88%91%E6%98%AFvhly%EF%BC%8C%E4%BD%A0%E6%98%AF%E8%B0%81%3F";10 //解码之后的字符串

11 try{12 String str2= URLDecoder.decode(str1,"UTF-8");13 Log.v("TAG", "str2="+str2); //str2= 我是vhly,你是谁?

14

15 } catch(UnsupportedEncodingException e) {16 //TODO Auto-generated catch block

17 e.printStackTrace();18 }19

20 /**编码演示*/

21 String str3 = "It‘s Don!";22 try{23 String str4 = URLEncoder.encode(str3, "UTF-8");24 Log.v("TAG", "str4="+str4); //str4=It%27s+Don%21

25

26 } catch(UnsupportedEncodingException e) {27 //TODO Auto-generated catch block

28 e.printStackTrace();29 }30

31 }

View Code

2.Base64

包含大小写英文字母,10个数字,以及= + 的编码格式

1.Base64能够把二进制的文件转换为文本文件

2.把整个内容全部转换为可以显?的字符串

3.包含编码和解码,主要?于客户端与服务器传图?

4.编码android.util.Base64.encodeToString(byte[], int)

5.解码android.util.Base64.decode(String, int)

常见的编解码工具

Android 自带 android.util.Base64

Apache Common Codec 类库 Base64

eg. 5L2g5piv6LCBPw== 这个字符串的内容是什么?

cdec0645add3fc3c328197dda5c76203.png

81178cc93a2a3bb5048d90d76e7ec935.png

1 importjava.net.URLDecoder;2 importjava.net.URLEncoder;3

4 importandroid.util.Base64;5 @Override6 protected voidonCreate(Bundle savedInstanceState) {7 super.onCreate(savedInstanceState);8 setContentView(R.layout.activity_main);9

10 /**解码演示*/

11

12 //解码之前的字符串

13 String str1= "5L2g5piv6LCBPw==";14 //解码之后的字符串

15 try{16 byte[] bytes =Base64.decode(str1, Base64.NO_WRAP);17 String str2= new String(bytes,"UTF-8");18 Log.v("TAG", "str2="+str2); //str2=你是谁?

19

20

21 } catch(UnsupportedEncodingException e) {22 e.printStackTrace();23 }24

25 /**编码演示*/

26 String str3 = "I love Android!";27 try{28 String str4 = Base64.encodeToString(str3.getBytes("UTF-8"), Base64.NO_WRAP);29 Log.v("TAG", "str4="+str4); //str4=SSBsb3ZlIEFuZHJvaWQh

30

31 } catch(UnsupportedEncodingException e) {32 //TODO Auto-generated catch block

33 e.printStackTrace();34 }35

36 }

View Code

原文:http://www.cnblogs.com/d-on/p/4115600.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值