【问题标题】:How to convert a byte array to a string?如何将字节数组转换为字符串?
【发布时间】:2009-06-04 16:04:26
【问题描述】:

使用来自:http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanaged.aspx的函数

public static byte[] encryptStringToBytes_AES(string plainText, byte[] Key, byte[] IV)

如您所见,它返回一个字节数组,我想将字节数组转换为字符串。

如何将它从字节数组转换为字符串,反之亦然?

【问题讨论】:

标签: c# encryption bytearray aes rijndaelmanaged


【解决方案1】:

如果你不关心它的存储方式,一个简单的方法是使用:

将字节数组转换为字符串:Convert.ToBase64String(YourByteArray) 和
将字符串转换为字节数组:Convert.FromBase64String(YourString).
这将给出字节数组的简洁、可打印的 ASCII 表示。

【讨论】:

    【解决方案2】:

    这对你有很大帮助,即将转换为十六进制格式但非常有用 How do you convert Byte Array to Hexadecimal String, and vice versa?

    【讨论】:

      【解决方案3】:
      System.Text.Encoding.ASCII.GetString(bytes);
      

      【讨论】:

      • ASCII 是 7 位代码。它不适用于 8 位 AES 密文。
      【解决方案4】:

      在使用 Rijndael Encryption 时,我遇到了这个问题,它返回加密的字节 [](数组), 将 byte[] 转换为字符串;

       myStringVariable= Convert.ToBase64String(myEncryptedByteArray);  
      

      将字符串转换为字节[];

      byte[] bytes = Convert.FromBase64String(myStringVariable);   
      

      更多关于Rijndael 的信息

      干杯!!!

      【讨论】:

        猜你喜欢
        • 2013-05-08
        • 2015-08-13
        • 1970-01-01
        • 2022-01-23
        • 2021-11-11
        • 1970-01-01
        相关资源
        最近更新 更多