![](/img/trans.png)
[英]Cannot implicitly convert type 'string' to 'byte' in c#
[英]Cannot implicitly convert type string to byte[]
我有一個用加密哈希加密密碼的類。
但是,如果我想將null傳遞給類,我會收到以下錯誤: Cannot implicitly convert type string to byte[]
這是類代碼:
public class MyHash
{
public static string ComputeHash(string plainText,
string hashAlgorithm, byte[] saltBytes)
{
Hash Code
}
}
當我使用該類時,我得到錯誤:“無法將類型字符串隱式轉換為byte []”
//Encrypt Password
byte[] NoHash = null;
byte[] encds = MyHash.ComputeHash(Password, "SHA256", NoHash);
這是因為你的'ComputeHash'方法返回一個字符串,你試圖將這個返回值賦給一個字節數組;
byte[] encds = MyHash.ComputeHash(Password, "SHA256", NoHash);
字符串到byte []沒有隱式轉換 ,因為存在許多不同的編碼來將字符串表示為字節,例如ASCII或UTF8。
您需要使用適當的編碼類顯式轉換字節,如此;
string x = "somestring";
byte[] y = System.Text.Encoding.UTF8.GetBytes(x);
ComputeHash
函數的返回類型是一個string
。 您嘗試將函數的結果分配給encds
,即byte[]
。 編譯器將此差異指向您,因為沒有從string
到byte[]
隱式轉換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.