【发布时间】:2010-11-30 02:31:39
【问题描述】:
加密不是我的强项。
我正在 Silverlight 3 中编写一个应用程序,它与 Web 服务通信以验证用户身份。 Web 服务不一定托管在 SSL 下。我试图找到一种在传递用户名和密码之前可逆地加密用户名和密码的方法,这种方法不依赖于将密钥和盐硬编码到 Silverlight 程序集中。它不支持 RSA(或任何非对称算法),所以我不能使用来自服务器的公钥。
有没有做这种事情的模式?
【问题讨论】:
加密不是我的强项。
我正在 Silverlight 3 中编写一个应用程序,它与 Web 服务通信以验证用户身份。 Web 服务不一定托管在 SSL 下。我试图找到一种在传递用户名和密码之前可逆地加密用户名和密码的方法,这种方法不依赖于将密钥和盐硬编码到 Silverlight 程序集中。它不支持 RSA(或任何非对称算法),所以我不能使用来自服务器的公钥。
有没有做这种事情的模式?
【问题讨论】:
RSA 确实是最好的方法,但在 Silverlight 2 或 3 库中确实没有实现。在我看来,这是真的应该添加的东西,尽管在 Silverlight 4 之前它不太可能发生。不幸的是,自定义 RSA 实现可能真的很痛苦,所以我认为它不太可行。
这是我提出的解决方案...它当然不像简单地从服务器发送公钥那么简单,但它仍然可以安全地完成这项工作。
System.Security.Cryptography 命名空间中。希望对您有所帮助。如果您对任何一点不清楚,请告诉我。
【讨论】:
这是 Silverlight 中用于 RSA 加密的开源库 http://www.riawebsoft.ru/Silverlight/Rsa/Test.aspx
【讨论】:
我发布了一个与 .NET RSACryptoServiceProvider(PKCS 和 OAEP)兼容并且符合 RSA 标准的 RSA 库。它是开源的:
【讨论】: