- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以,在 C# 中我有以下代码:
public static void Main (string[] args)
{
publicKeyXml = "<Modulus>mFCubVhPGG+euHuVQbNObqod/Ji0kRe+oh2OCFR7aV09xYiOklqFQ8jgIgAHvyCcM1JowqfFeJ5jV9up0Lh0eIiv3FPRu14aQS35kMdBLMebSW2DNBkfVsOF3l498WWQS9/THIqIaxbqwRDUxba5btBLTN0/A2y6WWiXl05Xu1c=</Modulus><Exponent>AQAB</Exponent>";
RSACryptoServiceProvider rSACryptoServiceProvider = new RSACryptoServiceProvider ();
rSACryptoServiceProvider.FromXmlString (publicKeyXml);
Console.WriteLine(Convert.ToBase64String (rSACryptoServiceProvider.Encrypt (Encoding.ASCII.GetBytes(args[0]), false)));
}
当我用来加密消息时,它在远程服务器上运行得很好(我没有源代码)。但是,当尝试使用 PyCrypto 在 Python 中执行类似操作时,远程服务器无法解密。
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5
KEY = RSA.importKey(open('login.key').read()) # Converted to standard format
KEY_CIPHER = PKCS1_v1_5.new(KEY)
testmsg = KEY_CIPHER.encrypt("test msg").encode('base64').replace('\n', '')
# send testmsg down a socket
# Response: {"info":"java.lang.IllegalArgumentException: Could not decrypt.","msg":"Fail"}
对于为什么会出现这种情况有什么想法吗?
最佳答案
好吧,就我而言,这很奇怪。服务器端正在期待我的东西向后。为了解决这个问题,我简单地这样做了:
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5
KEY = RSA.importKey(open('login.key').read()) # Converted to standard format
KEY_CIPHER = PKCS1_v1_5.new(KEY)
testmsg = KEY_CIPHER.encrypt("test msg").encode('base64').replace('\n', '')
testmsg = "".join(reversed([testmsg[i:i+2] for i in range(0, len(testmsg), 2)]))
关于python - 如何在Python中实现类似C# RSACryptoServiceProvider的加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18085952/
如果您查看下面的代码,它只是创建了一个 RSACryptoServiceProvider 的新实例。 key 容器名称是从一个属性初始化的,该属性根据各种参数创建名称。我在此演示代码中添加了硬编码值。
我需要使用 RSA 加密一些文本,然后使用私钥恢复它。我的问题是 RSACryptoServiceProvider.Encrypt() 每次都输出不同的值,即使使用相同的 key 也是如此。这是我放入
有人告诉我,对于非对称加密,您可以使用公钥加密明文并使用私钥解密。所以我尝试了以下方法: static void Main(string[] args) { RSACr
我在 MSDN( see Important note ) 上读到必须处理 RSACryptoServiceProvider。他们给出了例子: using (RSACryptoServiceProvi
我对商店的证书有疑问。在我的应用程序中,用户可以使用文件中的证书或商店中的证书。加载证书后,我使用证书作为签名数据。 可以使用文件中的证书,但我不能使用商店中的等效证书。 签名代码: // Sign
我正在使用 key 对对我的 XML 进行签名(使用 SignedXml),并将公钥作为嵌入式资源嵌入到我的应用中。 这里是我如何创建 key 对 sn -k Warehouse.snk sn -p
我有以下使用 RSA 生成公钥和私钥的代码。 // generate RSA 1024 using (var rsa = new RSACryptoServicePro
我正在尝试使用我自己的公钥和私钥初始化 RSACryptoServiceProvider。 据我所知,方法是调用构造函数 RSACryptoServiceProvider RSAalg = new R
我目前正在尝试创建一个 RSACryptoServiceProvider对象仅来自解码的 PEM 文件。经过几天的搜索,我确实设法解决了一个可行的解决方案,但它不是一个可以用于生产的解决方案。 简而言
我们正在导出公钥和私钥。私钥将由用 Magic 编写的非 .net 软件使用。开发人员对导出 key 的格式有疑问。是否有白皮书或其他资源来解释导出数据的格式? 最佳答案 关于导出的 blob 类型的
我有使用 RSACryptoServiceProvider 在 C# 中生成的公钥: 4kKhD/FWAMtQTRifArfXjxZN+6bOXTkHrVpyz/1wODhSOB
我有一个 X509Certificate2 变量,我正在尝试将该变量的私钥转换为 RSACryptoServiceProvider RSACryptoServiceProvider pkey = (R
我需要解密文本,但收到消息 The parameter is incorrect。 证书获取正确,已在 Windows 中注册。 在搜索问题时,我可以阅读建议更改分配给 IIS 网站的应用程序池中的用
我使用 RSACryptoServiceProvider 加密了一段文本。我导出了公钥和私钥。显然我只是想在解码器应用程序中公开公钥,所以我编写了如下代码: private const string
如果我有一个从非托管应用程序创建的 key ,并且如果我想将此 key 导入托管应用程序并生成另一个 key 或对其进行加密。基本上相同的 key 将从托管和非托管代码来回导入/导出。 因此什么相当于
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Can RSACryptoServiceProvider (.NET’s RSA) use SHA256 f
一段时间以来,我一直在阅读 CodeProject 上的一篇文章,该文章解释了如何使用 RSA 提供程序进行加密和解密: RSA Private Key Encryption 虽然 2009 年的旧版
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.S
我正在尝试使用公钥加密与客户端和服务器进行通信。服务器应该生成一个 1024 位的公钥并将其发送给客户端,客户端将使用该 key 将加密数据发送回服务器。到目前为止,我已经用这个初始化了 RSACry
我目前正在处理一个简单的数据签名。这是我第一次使用签名,所以也许我做错了什么。但我认为使用 512 位 RSA 和 SHA1 哈希对 448 字节进行签名需要 4.6 秒是不正常的。 代码: byte
我是一名优秀的程序员,十分优秀!