1

我正在使用 C# 和 .NET Framework 4.0 开发 WCF Web 服务。我还在开发一个 iOS 和 Android 客户端来连接它。

在服务器端,我必须生成一个随机密码,对其进行加密,然后将其发送回 iOS 客户端或 Android 客户端。

我不知道如何使用 .NET Framework 加密字符串。在互联网上搜索,我看到有算法可以做到这一点:MD5,RSA等(我不确定我是否了解如何加密字符串,因为我还没有进行字符串加密)。

如果我使用 MD5 加密密码,在 iOS 和 Android 上我需要做什么来解密它?

你给我推荐什么?

4

4 回答 4

0

在 .Net 中加密字符串很容易。您可以使用内置的 System.Security.Cryptography.MD5。

这是一个链接:http: //msdn.microsoft.com/en-us/library/system.security.cryptography.md5.aspx

这是一个与您的关于语言之间加密/解密的问题非常相似的问题。mfanto 有一个很好的答案。

在不同编程语言之间传递加密数据的最佳实践

于 2013-09-25T13:22:34.637 回答
0

问题是你的加密必须有多严重?MD5 不是什么严肃的事情。至于 RSA,您应该考虑到这是一种异步加密方法,它使用一对公钥和私钥。根据您的目标,可以说 RSA 是否适合您。当然,如果你开发了一些严肃的东西,永远不要使用公共库进行加密(包括 MS)。

于 2013-09-28T09:00:50.570 回答
0

我使用 CommonCrypto 编写了 RSA 和 AES 实现,实现是为了与 .NET 互操作

看看这个

https://github.com/ozgurshn/EncryptionForiOS

于 2015-03-03T20:51:54.880 回答
-1

在 .net 中创建关键字的 md5 哈希很容易:

MD5 hashKey = new MD5CryptoServiceProvider();
var hashedKey = hashKey.ComputeHash(ASCIIEncoding.ASCII.GetBytes("password"));

注意:散列键是字节数组,您可以从中构建一个字符串或进行进一步加密(fe更改为数字,将其转换为十六进制......)。你需要using System.Security.Cryptography;

在 Ios/Android 上,您必须这样做,使用 MD5 算法加密字符串(这总是相同的,这就是它起作用的原因)并比较两个结果。

于 2013-09-25T13:23:06.037 回答