zoukankan      html  css  js  c++  java
  • Base64编码密钥时关于换行的几个问题。

    在windows下一个javaweb应用,需要用http传递公钥pk。
    一般是
    String pk = BASE64ENCODER.encode(pkBytes);
    base64编码时,每76个字母就要换行。
    那么pk就应该是

    PHBrZD5NSUlCcGpDQ0FSc0dDU3FHU0liM0RRRURBVENDQVF3Q2dZRUEvWDlUZ1IxMUVpbFMzMHFj
    THV6azUvWVJ0MUk4NzBRQXd4NC9nTFpSDQpKbWxGWFVBaVVmdFpQWTFZK3IvRjlib3c5c3ViVld6
    4dnFoUmtJbW9

    这样的吧

    如果我直接在jsp文件输出这个<%=pk%>或者写到xml中,没啥问题。
    后来我改成用Spring的MarshallingHttpMessageConverter,注入org.springframework.oxm.castor.CastorMarshaller
    然后就变成了

    PHBrZD5NSUlCcGpDQ0FSc0dDU3FHU0liM0RRRURBVENDQVF3Q2dZRUEvWDlUZ1IxMUVpbFMzMHFj&#xd;
    THV6azUvWVJ0MUk4NzBRQXd4NC9nTFpSDQpKbWxGWFVBaVVmdFpQWTFZK3IvRjlib3c5c3ViVld6&#xd;
    4dnFoUmtJbW9

    注意最后是&#xd;
    在unmarshall的时候就把换行给换成了空格。

    PHBrZD5NSUlCcGpDQ0FSc0dDU3FHU0liM0RRRURBVENDQVF3Q2dZRUEvWDlUZ1IxMUVpbFMzMHF THV6azUvWVJ0MUk4NzBRQXd4NC9nTFpSDQpKbWxGWFVBaVVmdFpQWTFZK3IvRjlib3c5c3ViVld6 4dnFoUmtJbW9

    那么pk就变了。

    以上算是个背景。

    问题: 1.base64编码(sun.misc.BASE64Encoder)编出来的换行都是 么? 还是说因为我是winodws系统所以是 ?

    2.

    public static void main(String[] args) {
    String a="abcd
    efgh
    jkl
    mndf";
    System.out.println(a);
    }

    悲催的表示 , , 都可以换一行,这肿么办。 是换两行。 一般对于换行的情况都是怎么解决的?

  • 相关阅读:
    mysql随手记
    Exception 和 RuntimeException区别
    数据结构与算法
    Idea快捷键
    eclipse快捷键
    了解Lua语言中的_index,newindex,rawget和rawset
    Cocos2d-x CCNotificationCenter 通知中心
    LUA-赋值语句
    CCOrbitCamera:create
    类型和值
  • 原文地址:https://www.cnblogs.com/yaomajor/p/6293906.html
Copyright © 2011-2022 走看看