【发布时间】:2016-12-28 13:34:16
【问题描述】:
我有这个:
byte[] data = Encoding.ASCII.GetBytes("foobar");
var base64_text = Convert.ToBase64String(data);
Console.WriteLine(base64_text);
上面的代码完美运行,但我有一个问题。是否可以通过编程将编码字符串再次编码为 2x 编码字符串?
但是,如果您尝试解密它们,则会产生相同且正常的文本。如果是,请提供代码并指导他们。如果否,请解释。最后,如果我使用base64多次解码(比如说100),是否有可能?尺寸会增加吗?我不是将其作为加密内容的主要方式(只是为了让人们知道)。
【问题讨论】:
-
您可以根据需要多次对结果进行 Base64 编码,但您必须对结果进行相同次数的解码。
-
Base64 与加密无关。它是一种字符编码,将输出字符串中的字符限制为可打印字符。它通常用于对二进制数据进行编码,以便可以通过仅字符传输协议发送。
-
加密需要(秘密)密钥,解码不需要。如果您没有在某处输入密钥,则没有加密。您只需要对数据进行一次编码,因为它用于从一种格式(字节)转换为另一种格式(文本字符串)。 Wikipedia 上清楚地描述了 base 64 的工作原理,包括大小的增加。 -1 表示不查找基本信息或不尝试自己。
标签: c# encryption cryptography base64