base64加密,直接对string进行和先转化为byte[]进行有什么不同,结果不一样吗?
base64加密,直接对string进行和先转化为byte[]进行有什么不同,结果不一样吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
base64加密,直接对string进行和先转化为byte[]进行有什么不同,结果不一样吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
字符串中是否含有中文等多字节字符?直接对string进行转码,内部也需要getBytes操作,因为base64说白了就是把二进制转成字符的算法,所以应该是你在外部做getBytes调用的时候使用的编码和直接使用string调用的函数内部用的getBytes用的编码不一致。
尝试给getBytes指定一个编码,比如说utf-8,或者你干脆看看它对于string转码的内部的源码,看看它里面指定的编码是什么。
Base64 是将二进制转换为文本的算法,不可能直接对 string 进行处理。
如果其它语言有对 string 进行处理的方法,也是悄悄转了二进制的。
无论如何,最终都要转换成byte数组,底层实现。再说,将string转换成byte数组也需要指定编码的