问答详情
源自:2-1 实现Base64算法

为什么不推荐使用jdk的BASE64Encoder、BASE64Decoder

视频中有提到不推荐使用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-------------------------


提问者:8308667913 2016-07-06 09:34

个回答

  • taoy
    2017-06-11 17:12:20

    JDK之前的base64是内部测试使用的代码,不建议生产环境使用,而且未来可能会移除,JDK1.8提供最新可以正式使用的Base64类,可以用java.util.Base64.getEncoder().encodeToString("字符串内容")来生成base64码了。

  • 长江游泳鱼
    2016-07-07 11:47:21

    javax.crypto.spec.SecretKeySpec / javax.crypto.Cipher

    和这三者有有何区别