我目前有一套AES加密/解密函數,我在ASP.NET中使用它們來滿足我所有的加密需求。然後,我將這些數據在應用程序中來回傳遞給另一個我無法控制的安全應用程序。所有內容都以字符串形式發送,字符串通過ASCII編碼發送到這些應用程序或從這些應用程序發送。使用ASCII編碼(ASP.NET)進行加密與使用UTF-8編碼進行加密(Silverlight)
現在我正在使用預先存在的Silverlight應用程序,在那裏我需要爲數據添加加密/解密功能,但我仍將發送到其他安全應用程序(我無法控制)使用ASCII編碼。由於Silverlight使用UTF-8,這看起來可能是一個問題。我對編碼有足夠的瞭解,知道ASCII和UTF-8是如何相似和不同的(每個中的0到127是相同的,但UTF-8有更多的字符)。如果我打算使用ASCII嚮應用程序發送/接收數據,那麼在我的一端使用UTF-8進行加密/解密是否存在風險? (我的應用程序不會被加密之前,使用任何非標字符)
而且,我應該:
- 使用Silverlight中的服務引用有我的ASCII加密/解密功能? OR
- 在Silverlight應用程序中使用UTF-8加密/解密,不需要服務參考?
爲什麼使用ASCII而不是UTF-8? – CodesInChaos
我上面說的第三方使用了這種編碼,因爲它們非常不靈活並且很難處理,並且它在.NET中很容易獲得,我們也是如此。 – rownage