加密不是我的目标。
我正在Silverlight 3中编写一个应用程序,它与Web服务进行通信以验证用户身份。 Web服务不一定在SSL下托管。我试图在传递用户名和密码之前找到一种方法可逆地加密用户名和密码,而不依赖于密钥和盐被硬编码到Silverlight程序集中。它不支持RSA(或任何非对称算法),因此我无法使用服务器中的公钥。
有没有做这种事情的模式?
答案 0 :(得分:5)
RSA真的是最好的方式,但实际上Silverlight 2或3库中没有实现。在我看来,这是真正应该添加的东西,尽管它现在直到Silverlight 4才会发生。不幸的是,自定义RSA实现可能真的很痛苦,所以我期望它不太可行。
这是我提出的解决方案......它肯定不像简单地从服务器发送公钥那么简单,但它应该安全地完成工作。
System.Security.Cryptography
命名空间中。希望有所帮助。如果你不清楚任何一点,请告诉我。
答案 1 :(得分:2)
这是一个在Silverlight中具有RSA加密开源的库 http://www.riawebsoft.ru/Silverlight/Rsa/Test.aspx
答案 2 :(得分:0)
我发布了一个与.NET RSACryptoServiceProvider兼容的RSA库(包括PKCS和OAEP),并且符合RSA标准。这是开源的: