[英]How can I best send encrypted data to a WCF service?
我一直在使用字節[]作為數據類型將加密的數據從應用程序發送到WCF服務。 但是,在極少數情況下,我會看到以下類型的錯誤:
代理對(0xD8CC,0xAF1F)無效。 高代理字符(0xD800 – 0xDBFF)必須始終與低代理字符(0xDC00 – 0xDFFF)配對
代理對(0xD8AC,0xE332)無效。 高代理字符(0xD800-0xDBFF)必須始終與低代理字符(0xDC00-0xDFFF)配對。
代理對(0xD8CC,0xAAE9)無效。 高代理字符(0xD800-0xDBFF)必須始終與低代理字符(0xDC00-0xDFFF)配對。
無效的高替代字符(OxDF44)。 高代理字符的值必須在(OxD800-OxDBFF)范圍內
經過大量的抓撓之后,我懷疑這是由於加密導致WCF XML無法處理的字節序列導致的。 是否有更好的方法通過WCF傳輸加密的數據? 救命!
我想錯誤可能發生在任一方向。 這是我的.svc文件中的內容。
public byte[] GetEncryptedResult(byte[] encryptedRequest)
{
return ....
}
另一種可能性-這不是通過WCF發生的,而是在我加密數據時發生的。 數據放入XML中,經過加密,通過WCF傳輸,再解密為XML。
我可以使用DataContractSerializer嗎? 還有嗎
通常在通過網絡發送加密的字節數據之前,將其轉換為base64字符串。
可能您正在嘗試將字節轉換為符號。 由於加密,您會得到一些奇怪的符號,而XML處理器無法處理這些符號。 我對WCF不太熟悉,但是我可以建議通過以下方式將轉換字節轉換為字符串:
{a0, 23, cd, 5e, ff} => "a023cd5eff"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.