如何将a转换byte[]为string?我每次尝试都会得到
System.Byte []
而不是价值.
另外,我如何获得十六进制而不是十进制的值?
如何将此段C#代码转换为C++/CLI:
protected string GetMD5HashFromFile(string fileName)
{
FileStream file = new FileStream(fileName, FileMode.Open);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] retVal = md5.ComputeHash(file);
file.Close();
ASCIIEncoding enc = new ASCIIEncoding();
return enc.GetString(retVal);
}
Run Code Online (Sandbox Code Playgroud)
特别是这一部分 byte[] retVal = md5.ComputeHash(file);
byte[] ba = Encoding.Default.GetBytes(input);
var hexString = BitConverter.ToString(ba);
hexString = hexString.Replace("-", "");
Console.WriteLine("Or: " + hexString + " in hexadecimal");
Run Code Online (Sandbox Code Playgroud)
所以我明白了,现在我将如何转换hexString为base64字符串?
我尝试了这个,得到了错误:
无法从字符串转换为字节[]
如果该解决方案对其他任何人都有效,那我在做什么错呢?
编辑:
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);
Run Code Online (Sandbox Code Playgroud)
我尝试了这一点,但是它在第一行返回“无法将类型'byte []'隐式转换为'string'”,然后返回“参数1:无法从'string'转换为'byte []'”。