如何将字节流转换为文本字符串?

时间:2011-03-31 20:27:41

标签: vb.net string byte

我正在为我的应用程序开发许可系统。我想将所有许可信息(被许可方名称,到期日期和启用的功能)放入对象中,使用私钥加密该对象,然后将加密数据表示为单个文本字符串,我可以通过电子邮件将其发送给我客户。

我设法将加密数据转换为字节流,但我不知道如何将该字节流转换为文本值 - 不包含控制字符或空格。谁能提供有关如何做到这一点的建议?我一直在研究Encoding类,但我找不到纯文本编码。

我使用的是Net 2.0 - 主要是VB,但我也可以使用C#。

3 个答案:

答案 0 :(得分:1)

使用Base64Encoder将其转换为可以使用Base64Decoder解码的文本字符串。它非常适合以文本友好的方式表示任意二进制数据,只有大小写的A-Z和0-9位。

答案 1 :(得分:0)

BinHex是一种做法的例子。它可能不是您想要的 - 例如,您可能希望对数据进行编码,以便无意中无意中拼写字符串中的单词,并且您可能会或可能不会关心最大化信息密度。但这是一个可以帮助您提出自己的编码的例子。

答案 2 :(得分:0)

我之前发现Base32对许可证密钥很有用。有一些C#实现从this answer链接。我自己的许可证代码基于this implementation,这可避免使用含糊不清的字符,从而更轻松地重新键入密钥。