在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

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

PHBrZD5NSUlCcGpDQ0FSc0dDU3FHU0liM0RRRURBVENDQVF3Q2dZRUEvWDlUZ1IxMUVpbFMzMHF THV6azUvWVJ0MUk4NzBRQXd4NC9nTFpSDQpKbWxGWFVBaVVmdFpQWTFZK3IvRjlib3c5c3ViVld6 4dnFoUmtJbW9

那么pk就变了。

以上算是个背景。

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

2.

public static void main(String[] args) {
String a="abcd\nefgh\rjkl\r\nmndf";
System.out.println(a);
}

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

Base64编码密钥时关于换行的几个问题。的更多相关文章

  1. Base64编码有时会默认换行 [转]

    Base64编码有时会默认换行 2013-01-27 20:59 6647人阅读 评论(0) 收藏 举报  分类: Base64 换行 版权声明:本文为博主原创文章,未经博主允许不得转载.       ...

  2. Base64编码字符串时数据量明显变大

    那就是当把byte[]通过Convert.ToBase64String转换成Base64编码字符串时数据量明显变大 Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码.它将需 ...

  3. PHP_EOL换行 与 base64编码

    base64编码包括64个字符:10个数字(0-9),26*2个字母(a-zA-Z),+,/ 其中还有一个第65个字符=作为后缀,没有实际作用. 来一段代码说明个问题: <?php $str = ...

  4. Base64编码为什么会使数据量变大?

    当把byte[]通过Convert.ToBase64String转换成Base64编码字符串时数据量明显变大,为何呢?这里就得先探究一下什么是Base64编码. Base64编码的思想是是采用64个基 ...

  5. Base64编码的 换行 转义

    用Base64编码的时候如果出现\n 之类的字符,java中转义. 当字符串过长(一般超过76)时会自动在中间加一个换行符,字符串最后也会加一个换行符.导致和其他模块对接时结果不一致. 解决方法:将  ...

  6. Base64编码

    Base64编码 写在前面 今天在做一个Android app时遇到了一个问题:Android端采用ASE对称加密的数据在JavaWeb(jre1.8.0_7)后台解密时,居然解密失败了!经过测试后发 ...

  7. Android数据加密之Base64编码算法

    前言: 前面学习总结了平时开发中遇见的各种数据加密方式,最终都会对加密后的二进制数据进行Base64编码,起到一种二次加密的效果,其实呢Base64从严格意义上来说的话不是一种加密算法,而是一种编码算 ...

  8. Base64编码原理分析

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,在了解Base64编码之前,先了解几个基本概念:位.字节. 位:"位(bit)"是计算机中最小的数据单位.每一位 ...

  9. Base64编码简介

      基本概念   Base64这个术语最初是在“MIME内容传输编码规范”中提出的.Base64不是一种加密算法,虽然编码后的字符串看起来有点加密的赶脚.它实际上是一种“二进制到文本”的编码方法,它能 ...

随机推荐

  1. Attributes.Add用途与用法

    Attributes.Add("javascript事件","javascript语句"); 如: this.TextBox1.Attributes.add(& ...

  2. LeetCode:104 Maximum Depth of Binary Tree(easy)

    题目: Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the ...

  3. Grid++Report应用(引入项目中)

    1.将Grid++Report安装文件中(\WebSamples\asp.net(csharp)\App_Code)的ReportData.cs,MssqlReportData.cs两个文件复制到自己 ...

  4. Linux网络命令必知必会之瑞士军刀 nc(netcat)

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. nc,全名叫 ...

  5. 强大的在线web编辑器UEditor

    UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码. UEditor在线演示地址:http://u ...

  6. [Xcode 实际操作]七、文件与数据-(18)使用MarkMan与设计师进行心灵沟通

    目录:[Swift]Xcode实际操作 本文将演示MarkMan的使用. 在界面开发过程中,最终的效果和设计稿难免有些出入, 通常是颜色.位置.尺寸方面的偏差,使用MarkMan助你领会设计师的意图. ...

  7. 多线程中join()

    这个鬼东西百度了好久没弄明白,大佬们代码一粘贴好了完事,借助官方api终于是理解了,当然如果有问题欢迎大家用键盘来羞辱我. 首先  join有什么用?   他是用来确定线程何时结束的 , Thread ...

  8. OFFICE 365 A1 Plus账号注册

    OFFICE365 A1 Plus账号注册 Office2019与Office365专业增强版之间的区别: Office2019是一次性购买,不会在购买后接收功能更新,但会根据需要接收质量和安全修补程 ...

  9. C 语言实例 - 字符串中各种字符计算

    C 语言实例 - 字符串中各种字符计算 C 语言实例 C 语言实例 计算字符串中的元音.辅音.数字.空白符. 实例 #include <stdio.h> int main() { ]; i ...

  10. vi/vim打开文件提示Found a swap file by the name

    问题分析 有一次在远程连接主机时,用vi打开文件my.ini却提示:Found a swap file by the name ".my.ini.swp".百度了下才知道,原来在使 ...