星空网 > 软件开发 > Java

第二章 Base64与URLBase64

2.1、算法基本规则:

  • 加密的算法公开
  • 加密的密钥不公开

Base64算法公开、密钥也公开的特性不符合基本算法规则,所以很容易被破解,所以一般不用于企业级的加密操作。

注意:具体的算法与密钥(对于Base64来讲,是一张字符映射表)可在《Java加密与解密的艺术(第2版)》第5章“电子邮件传输算法--Base64”中查看

 

2.2、应用场景

  • 简单加密(加密要求不高的情况下,即一眼看**的那种情况下使用)
  • 加密(改造字符映射表,即私藏秘钥)
  • 电子邮件传输(邮件内容使用Base64加密,实际上主要是处理中文问题的)
  • 网络数据传输(与URLBase64相关,下边会讲)
  • 密钥存储(密钥是一段二进制数据,密钥在通信双方的传递过程:甲方将密钥采用Base64编码,写入文档,通过安全途径(例如线下等)传给乙方,采用Base64存储密钥是为了增强密钥的易读性)
  • 数字证书存储
  • OpenSSL操作Base64产生数字证书

通常,我们使用Base64最多的情况就是存储密钥。

 

2.3、Base64实现方式

实现方式有三种:

  • Commons Codec(简称“CC”)
  • Bouncy Castle(简称“BC”)
  • JDK(不推荐使用,当做JDK没实现即可)

其中,最推荐使用Commons Codec。

注意:cc与bc的版本号,还有我实在jdk1.6下边调的

2.3.1、基于CC实现的Base64加解密

第一步:加入jar

第二章 Base64与URLBase64

第二步:编写代码

第二章 Base64与URLBase64

 第二章 Base64与URLBase64

第三步:测试

第二章 Base64与URLBase64

 测试结果:

第二章 Base64与URLBase64

注意:可以采用debug断点调试来查看每一个变量的值来验证上边的情况。

 2.3.2、基于BC实现的Base64加解密算法

对于BC来讲,只有一般Base64加密算法,jar包以及简要代码如下:

第二章 Base64与URLBase64

第二章 Base64与URLBase64

 

2.4、URLBase64实现方式

一般来讲这种算法仅用于使用get方式传递私密数据和以get方式传递二进制数据。

  • commons codec(CC,推荐使用,因为不采用尾部补全,所以数据长度较短,减少了网络传输时间,尾部补全是Base64的)
  • bouncy castle(BC)

2.4.1、基于CC实现URLBase64

第二章 Base64与URLBase64

 测试代码自己去仿照上述的去写就好了。

2.4.2、基于BC实现URLBase64

第二章 Base64与URLBase64

 测试代码自己去写,然后查看加密后的字符串与CC加密后字符串有什么不同。




原标题:第二章 Base64与URLBase64

关键词:URL

URL
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

柳州空运:https://www.goluckyvip.com/tag/102805.html
行李空运:https://www.goluckyvip.com/tag/102806.html
fra空运:https://www.goluckyvip.com/tag/102807.html
国际空运大包:https://www.goluckyvip.com/tag/102809.html
跨境独立站:https://www.goluckyvip.com/tag/10281.html
空运包装:https://www.goluckyvip.com/tag/102810.html
南京浦口都有什么好玩的地方 南京浦口都有什么好玩的地方推荐:https://www.vstour.cn/a/363180.html
永康白云风景区怎么走 白云山风景区怎么去??:https://www.vstour.cn/a/363181.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流