您好,我正在尝试为我的RSA 4096加密在我的windows phone 8加密应用程序中生成公钥
我正在使用这个方法:
RSACryptoServiceProvider rsaProvider =新RSACryptoServiceProvider(4096);var pub_key = rsaProvider.ExportParameters(false);//导出公钥
现在,我正在尝试将pub_key转换为pem格式,以便可以将其发送到服务器。我正在执行以下步骤
组合bpkey = Byte[] (pub_key.Modulus,pub_key.Exponent);
我使用“RSA公钥=模数+指数”将字节数组组合成一个字节数组
string pkey =“-BEGIN PUBLIC KEY-\n”+ Convert.ToBase64(bpkey)+“\n-END PUBLIC KEY-”;
但是当我将pkey发送到服务器时,我发现pkey是无效的pem格式!
任何想法如何正确或如何修复错误。
发布于 2013-09-30 17:54:59
正如我所说,如果您的服务器DeEncrypt字符串使用Java语言。你不能在windows phone客户端中使用RSACryptoServiceProvider加密串。
.Net platform SDK提供random加上随机数,因此它还必须解密。Net平台进行解密。如果你保持这样的跨平台,java平台的解密将会是一个问题。
你可以试试这种方式。使用bigintege转换字符串http://www.codeproject.com/csharp/biginteger.asp
会很好的
发布于 2014-01-08 22:54:07
实际上,这是因为Java和.NET在签名方面存在差异(低字节优先与高字节优先)。只需颠倒字节数组,您就可以开始工作了。另请查看:
http://scrypt.codeplex.com
https://stackoverflow.com/questions/16524785
复制相似问题