Base64加密的允许字符

时间:2013-05-21 23:12:13

标签: java base64

我使用Base64加密来加密Java中的用户ID字段。

String abc = new String(Base64.encodeBase64("Actualuseridfield"));

我想知道上面的字符串abc是否包含字符" ,:或不?

当在abc中返回Base64加密字符串时,它是否会包含以下字符?

" <double quote> 
, <comma> 
: <colon>

任何一个人都能解释一下吗?

3 个答案:

答案 0 :(得分:27)

您不会在Base64编码的字符串中看到任何逗号,冒号或双引号。你会看到等号,因为它们用于填充结尾内容。

答案 1 :(得分:17)

如果你有一个适合Base64的编码器,你将看不到特殊字符,除了:

[A-Z] [a-z] [0-9] [+ /]和末尾的填充字符'='表示零填充字节数

然而,规范允许包含任何其他字符。 Base64编码数据通常包含每76个字符的换行符'\ n'。除了上述字符之外的任何字符都必须在解码期间被删除。填充字符表示附加的零字节数,以应用于n * 4个输出字符。

答案 2 :(得分:4)

变形&#34;怪异&#34;和不可打印的字符是base64的整点,所以不,你不会看到那些。更多信息http://email.about.com/cs/standards/a/base64_encoding.htm