自己不要造輪子
在需學習的時候,是可以造輪子的。如果處於生產的目的,基本上無論自己怎麼實現,運行效率都不會好於已經有了的輪子。編程是爲了解決問題,不是爲了炫技。能把事情按照要求做出來,就算是一個合格的程序員了。
自己常用的包
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 初次完成文章