所以我需要生成一個帶有字符串的UUID作爲散列函數的輸入。UTF-8是否對字節順序敏感?
據我瞭解,MS的GUID實現不是可移植的,因此也沒有正確實現RFC 4122。所以我想知道如果我通過傳遞.NET System.Security.Cryptography.SHA1Managed()。ComputeHash(data)函數是一個UTF-8字符串,它基本上陷入了同樣的陷阱。
我相信我很好,因爲維基百科似乎表明字節順序對UTF-8無關緊要,字節順序標記本質上被降爲一個標題來表示字符串是UTF-8。
編輯:注意:我正在嘗試使用UTF-8字符串作爲UUID中使用的哈希的種子。
您無法將任意字節解析爲UTF8。 – SLaks
我正在使用Encoding.UTF8.GetBytes(value); – cb88
@ cb88,試試'byte [] b1 = new byte [] {255,255}; byte [] b2 = Encoding.UTF8.GetBytes(Encoding.UTF8.GetString(b1));'。 'b1'不會等於'b2' – I4V