我知道我可能得到的主要答案是你到底为什么要这么做?!不幸的是,尽管我抗议,但我还是不得不这样做,尽管我知道这毫无意义。我有一些用.Net编写的函数,可以使用私钥解密,使用公钥加密。我还对RSA进行了签名和验证,并且对我认为这一切的工作原理有一个合理的理解。我现在收到一个使用私钥进行RSA加密的值,我应该通过使用公钥解密来派生一个可用值。我似乎不知道该怎么做。我是白痴吗?这是正常的事情吗?给我发送值的人告诉我,这在PHP中没有问题。我不知道也没有使用过PHP。我找不到用我知道的任何主要语言(即C++、Java、C#)执行此操作的库。我正在使用的服务器使用.Net。我希望有人能帮助我。如果
加密时,RSACryptoServiceProvider(或.NET提供的任何其他RSA加密器)能否使用SHA256而不是SHA1?SHA1似乎是硬编码的,无法更改。例如,RSACryptoServiceProvider.SignatureAlgorithm被硬编码为返回“http://www.w3.org/2000/09/xmldsig#rsa-sha1”。如果没有办法让RSACryptoServiceProvider使用SHA256,有什么替代方案?更新以下代码运行良好,但我想将OAEPWithSHA1AndMGF1Padding更改为OAEPWithSHA256AndMGF1Pa
我需要使用RSA1.5算法加密字符串。我已获得私钥。但是,我终生无法弄清楚如何将此key添加到类(class)中。看起来key需要是RSAParameter结构类型。然而,这需要一组我没有给出的值,例如模数、指数、P、Q等。我所拥有的只是私钥。谁能帮忙? 最佳答案 你应该知道BouncycastleC#library.特别是有两个非常有用的类:Org.BouncyCaSTLe.OpenSsl.PemReader可以将您拥有的openssl样式key转换为bouncycaSTLekey对象,以及Org.BouncyCaSTLe.Sec
我正在尝试使用C#读取仅包含RSA公钥的.pem文件。我无权访问私钥信息,我的应用程序也不需要它。文件myprivatekey.pem文件以开头-----开始公钥-----并以-----ENDPUBLICKEY-----.我目前的代码如下:Org.BouncyCastle.Crypto.AsymmetricCipherKeyPairkeyPair;using(varreader=File.OpenText(@"c:\keys\myprivatekey.pem"))keyPair=(Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair)newOr
有谁知道如何使用充气城堡在C#中签署数据的简单教程或示例代码。在Java中有大量的教程和示例。我在C#中找不到一个示例。有谁知道如何做到这一点? 最佳答案 好吧,我找不到任何关于如何执行此操作的文档。但我最终弄明白了。我将完整的代码粘贴在这里,希望它能在未来帮助到某人。此类将为提供的字符串计算带有sha1散列的RSA签名,并对其进行验证。usingSystem;usingSystem.IO;usingSystem.Text;usingOrg.BouncyCastle.Asn1;usingOrg.BouncyCastle.Crypto
简而言之,这是我的问题:privatestringpublicKeyString="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVGUzbydMZS+fnkGTsUkDKEyFOGwghR234d5GjPnMIC0RFtXtw2tdcNM8I9Qk+h6fnPHiA7r27iHBfdxTP3oegQJWpbY2RMwSmOs02eQqpKx4QtIjWqkKk2Gmck5cll9GCoI8AUAA5e0D02T0ZgINDmo5yGPhGAAmqYrm8YiupwQIDAQAB";/*Sometransformationrequired,usingpu
我最近发现了这个RSAJavaScript库:http://www.ohdave.com/rsa/.但是,它要求预先生成key。这是我的问题:我想在JavaScript中生成一个RSAkey对(这样我就不必在每次需要新key对时都更改代码。)虽然我了解如何使用它来发送安全数据,但如果我没记错的话,这个库不能用于客户端从服务器接收安全数据(因为公共(public)和私有(private)指数,以及模数,从服务器传输纯文本)。我错了吗?我希望对此进行一些讨论。我不是安全专家,但我对非对称加密有很深的了解。 最佳答案 这个问题大约在10年
据我了解,RSAkey通常是基于(强)随机生成器生成的。相反,我想根据密码创建它们。或者更确切地说是在它的散列上,例如sha512(sha512(password+salt)+password+pepper)这需要在客户端用JavaScript完成。有人知道怎么做吗?是否有一个简单的JavaScript库可以根据给定的输入确定性地创建RSAkey对?(实际上,我说的是RSA,但任何安全的非对称加密就足够了,我只需要公私加密)补充:我需要这个,因为我正在构建一些安全的通信解决方案,不需要依赖连接甚至服务器来保证安全。我使用随secret钥使用AES加密所有内容,并且key是RSA加密的。
目前我正在将我的登录系统与RSA类(在PHP中实现RSA算法的类)连接起来。我已经阅读了有关该算法的一些信息,尽管我对此有一些疑问,希望有人能够澄清它们。RSA在两个key上运行-公钥和私钥,两者都是使用算法生成的。这些key是否仅生成一次然后包含到站点代码中(一个在管理员站点上,一个在用户站点上)?实现它的主要思想是在网站上让登录表单的login.php变成一个公钥代码,当发送登录名和密码进行验证时,用公钥加密它们。在服务器端,此消息将使用私钥解密并检查信息是否正确并发回真/假信息。你能告诉我它的使用安全和正确吗? 最佳答案 只需
我用PHP生成RSA公钥和私钥:functiongenKeys($pkey,$skey){$pkGenerate=openssl_pkey_new(array('private_key_bits'=>2048,'private_key_type'=>OPENSSL_KEYTYPE_RSA));$pkGeneratePrivate=null;openssl_pkey_export($pkGenerate,$pkGeneratePrivate);$pkGenerateDetails=openssl_pkey_get_details($pkGenerate);$pkGeneratePubli