我正在用C#和.NET Framework4.0开发WCF服务。我还在开发一个iOS和安卓客户端来连接它。
在服务器端,我必须生成一个通知密码,对其进行加密,并将其发送回iOS客户端或安卓客户端。
我不知道如何用.NET框架加密字符串。在互联网上搜索时,我发现有一些算法可以做到: MD5、RSA等等(我不知道如何加密字符串,因为我还没有进行字符串加密)。
如果我使用MD5加密密码,我要做什么才能在iOS和Android上解密它?
你推荐我什么?
发布于 2013-09-25 13:23:06
创建关键字的md5散列在.net中很容易:
MD5 hashKey = new MD5CryptoServiceProvider();
var hashedKey = hashKey.ComputeHash(ASCIIEncoding.ASCII.GetBytes("password"));
注意:散列键是字节数组,您可以从它构建一个字符串,或者进行进一步的加密(f.e。转换为数字,将其转换为十六进制.)你需要using System.Security.Cryptography;
在Ios/Android上,你必须做同样的事情,用MD5algorithm加密字符串(这总是一样的,这就是为什么它能工作),并比较这两个结果。
发布于 2013-09-25 13:22:34
在.Net中加密字符串很容易。您可以使用内置的System.Security.Cryptography.MD5。
下面是一个链接:http://msdn.microsoft.com/en-us/library/system.security.cryptography.md5.aspx
这里有一个与你的问题非常相似的关于语言之间的加密/解密的问题。曼范托回答得很好。
Best practices for passing encrypted data between different programming languages
发布于 2013-09-28 09:00:50
问题是你的加密必须有多严重?MD5不是一件严肃的事情。至于RSA,您应该考虑到这是一种使用一对公钥和私钥的asyn加密方法。根据你的目标,可以说RSA对你是否足够好。当然,如果您开发了一些严肃的东西,千万不要使用公共库进行加密(包括MS)。
https://stackoverflow.com/questions/19005893
复制相似问题