我正在将byte[]转换为字符串并返回. 转换回的字节[]与原始字节不相同.
How do I convert bytes to string and back correctly?
一个控制台应用程序来说明这一点: Program.cs
_ = new TestByteConversion();
TestByteConversion.cs
internal class TestByteConversion
{
public TestByteConversion()
{
var aes = Aes.Create();
aes.GenerateKey();
var keyAsString = GetKeyAsString(aes.Key);
// I save it in a key value pair as string.
// I get the value as string from dictionary.
var keyAsyBytes = GetKeyFromString(keyAsString);
// USE NuGet ConsoleTables !
var table = new ConsoleTable("ID", "origin", "char", "new value");
for (var i = 0; i < keyAsString.Length; i++)
{
table.AddRow(i, aes.Key[i], keyAsString[i], keyAsyBytes[i]);
}
table.Write();
}
public static byte[] GetKeyFromString(string keyAsString)
{
return Encoding.ASCII.GetBytes(keyAsString);
}
public static string GetKeyAsString(byte[] byteArray)
{
return Encoding.ASCII.GetString(byteArray);
}
}