自己不要造轮子
在需学习的时候,是可以造轮子的。如果处于生产的目的,基本上无论自己怎么实现,运行效率都不会好于已经有了的轮子。编程是为了解决问题,不是为了炫技。能把事情按照要求做出来,就算是一个合格的程序员了。
自己常用的包
1.Apache Commons Codec
这个包是经常用于Base64的相关操作,还有就是计算摘要的时候,引用DigestUtils
计算摘要也是比原生的方法方便得多,代码量也就一句话,而且直接有方法计算原文的摘要并输出为16进制。
2.Apache Commons IO
byte[]
转化为InputStream
之类的是比较容易的:ByteArrayInputStream(byte[])
。反之却比较麻烦(主要是嫌弃代码量多了,不够优雅)。直接使用IOUtils
来完成就很简单,里面有toByteArray(InputStream input)
的方法,直接可以获得byte[]
。
3.fastjson
这个自不用说了,每次操作Json的时候必备。主要是操作方便,只需要引入一个包即可。
4.Bouncy Castle
主要是做加解密,签名验签。最离不开的BC包的一点,就是使用CMSSignedData
来生成pkcs#7
的签名以及验签。而且,bc包支持国产SM2算法,只是里面的坑也挺多的。很可能版本变了,它的实现方法也会改变,签名验签长度都会不一致。验证不过去也是正常。不过不管怎么说,也还是得用。毕竟没有比这个更方便的东西了。
之后再慢慢更新
这篇文章也就是记录一下经常会用到的包,避免后面重复造轮子。
时常更新之。
update
2020-01-12 初次完成文章