视频中有提到不推荐使用jdk的Base64加解密,能说说理由么,我通过测试发现jdk加解密的效率比其他两种都要高,为什么还不推荐呢,下面是相关的测试结果
**************************************************************************************** base64 jar:jdk -------------------------------------------- 明文:Idea love code,you know why? -------------------------------------------- 明文加密后的密文:SWRlYSBsb3ZlIGNvZGUseW91IGtub3cgd2h5Pw== -------------------------------------------- 解密加密过的密文:Idea love code,you know why? -----encodeTimeLenght:0--------------decodeTimeLenght:0------------------------- **************************************************************************************** base64 jar:commons -------------------------------------------- 明文:Idea love code,you know why? -------------------------------------------- 明文加密后的密文:SWRlYSBsb3ZlIGNvZGUseW91IGtub3cgd2h5Pw== -------------------------------------------- 解密加密过的密文:Idea love code,you know why? -----encodeTimeLenght:16--------------decodeTimeLenght:0------------------------- **************************************************************************************** base64 jar:bouncycastle -------------------------------------------- 明文:Idea love code,you know why? -------------------------------------------- 明文加密后的密文:SWRlYSBsb3ZlIGNvZGUseW91IGtub3cgd2h5Pw== -------------------------------------------- 解密加密过的密文:Idea love code,you know why? -----encodeTimeLenght:137--------------decodeTimeLenght:0-------------------------
JDK之前的base64是内部测试使用的代码,不建议生产环境使用,而且未来可能会移除,JDK1.8提供最新可以正式使用的Base64类,可以用java.util.Base64.getEncoder().encodeToString("字符串内容")来生成base64码了。
javax.crypto.spec.SecretKeySpec / javax.crypto.Cipher
和这三者有有何区别