我知道如何在C#中將字符串轉換爲byte []。在這種特殊情況下,我正在使用HMAC-SHA256密鑰的字符串表示形式。比方說,這個鍵我從一個OpenID OP得到的字符串表示:如何在不丟失完整性的情況下在字符串和字節[]之間進行轉換
"81FNybKWfcM539vVGtJrXRmoVMxNmZHY3OgUro8+pZ8="
我把它轉換爲byte []是這樣的:
byte[] myByteArr = Encoding.UTF8.GetBytes("81FNybKWfcM539vVGtJrXRmoVMxNmZHY3OgUro8+pZ8=");
我對此的問題是,它似乎丟失原始數據。如果我從上一步獲取字節數組並將其轉換回字符串,則它與原始字符串不同。
string check = Convert.ToBase64String(myByteArr);
檢查結束是:
"ODFGTnliS1dmY001Mzl2Vkd0SnJYUm1vVk14Tm1aSFkzT2dVcm84K3BaOD0="
這顯然是不一樣的原始字符串表示我開始。
我不認爲OP想要獲取字符串作爲字節,而是字符串代表的字節。 – 2011-05-15 01:43:45