草庐IT

c# - 仅使用 Bouncy CaSTLe 读取 PEM RSA 公钥

我正在尝试使用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# - 为什么我的 PHP SHA256 哈希不等同于 C# SHA256Managed 哈希

为什么它们不一样?PHP:$hash=hash('sha256',$userData['salt'].hash('sha256',$password));c#publicstaticstringComputeHash(stringplainText,stringsalt){//Convertplaintextintoabytearray.byte[]plainTextBytes=Encoding.UTF8.GetBytes(plainText);byte[]saltBytes=Encoding.UTF8.GetBytes(salt);SHA256Managedhash=newSHA25

c# - 为什么在 C# 和 PowerShell 中使用完全相同的代码加密 HMAC-SHA1 会显示不同的结果?

我一直在尝试使用以下代码在PowerShell中使用HMAC-SHA1加密类似AmazonS3的授权key:$str="PUT\n\napplication/x-zip-compressed\nThu,09Feb201708:59:43GMT\n/test-bucket/test-key"$secret="c334da95a6734ff4a04abd99efca450f"$sha=[System.Security.Cryptography.KeyedHashAlgorithm]::Create("HMACSHA1")$sha.Key=[System.Text.Encoding]::UT

c# - Rfc2898/PBKDF2 与 SHA256 作为 c# 中的摘要

我想在C#中使用Rfc2898来导出key。我还需要使用SHA256作为Rfc2898的摘要。我找到了Rfc2898DeriveBytes类,但它使用SHA-1,而且我看不出有什么方法可以让它使用不同的摘要。有没有办法在C#中使用Rfc2898并将SHA256作为摘要(除了从头开始实现)? 最佳答案 .NETCore有一个新的Rfc2898DeriveBytes实现。CoreFXversionnolongerhasthethehashingalgorithmhard-codedThecodeisavailableonGithub.它

c# - 如何使用使用 sha1ecdsa 的公钥根据签名验证数据?

我对密码学知之甚少,但似乎很简单的任务却遇到了很大的问题。我有.pem证书、数据字节和该数据的签名。我想通过将数据与签名进行匹配来检查是否有人更改了数据。我的尝试:privateboolVerifySignature(byte[]data,byte[]signature){try{X509Certificatecertificate=newX509Certificate("cert_filename.pem");if(certificate==null)returnfalse;DSACryptoServiceProviderdsa=(DSACryptoServiceProvider)c

C# 使用 BouncyCaSTLe 使用 RSA 对数据进行签名

有谁知道如何使用充气城堡在C#中签署数据的简单教程或示例代码。在Java中有大量的教程和示例。我在C#中找不到一个示例。有谁知道如何做到这一点? 最佳答案 好吧,我找不到任何关于如何执行此操作的文档。但我最终弄明白了。我将完整的代码粘贴在这里,希望它能在未来帮助到某人。此类将为提供的字符串计算带有sha1散列的RSA签名,并对其进行验证。usingSystem;usingSystem.IO;usingSystem.Text;usingOrg.BouncyCastle.Asn1;usingOrg.BouncyCastle.Crypto

c# - 在可移植类库中生成 SHA1 哈希

我正在尝试构建一个可移植类库,该类库生成OAuthURL供其他类/应用程序使用。这个使用OAuth的类库必须是一个可移植类库,以便它可以与我正在构建的不同版本的DropBoxAPI一起使用。这个类的一部分需要生成一个SHA1散列来生成oauth_signature。我知道可移植类库不支持System.Security.Cryptography,那么这个类是否可以在没有该类的情况下生成SHA1哈希? 最佳答案 我认为最简单的方法是使用PCLCryptonuget包。然后你可以这样做:privatestaticstringCalcula

c# - 使用Base64编码的公钥验证RSA签名

简而言之,这是我的问题:privatestringpublicKeyString="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVGUzbydMZS+fnkGTsUkDKEyFOGwghR234d5GjPnMIC0RFtXtw2tdcNM8I9Qk+h6fnPHiA7r27iHBfdxTP3oegQJWpbY2RMwSmOs02eQqpKx4QtIjWqkKk2Gmck5cll9GCoI8AUAA5e0D02T0ZgINDmo5yGPhGAAmqYrm8YiupwQIDAQAB";/*Sometransformationrequired,usingpu

javascript - 在 JavaScript 中生成 RSA key 对

我最近发现了这个RSAJavaScript库:http://www.ohdave.com/rsa/.但是,它要求预先生成key。这是我的问题:我想在JavaScript中生成一个RSAkey对(这样我就不必在每次需要新key对时都更改代码。)虽然我了解如何使用它来发送安全数据,但如果我没记错的话,这个库不能用于客户端从服务器接收安全数据(因为公共(public)和私有(private)指数,以及模数,从服务器传输纯文本)。我错了吗?我希望对此进行一些讨论。我不是安全专家,但我对非对称加密有很深的了解。 最佳答案 这个问题大约在10年

javascript - 根据密码在javascript中生成RSA key 对

据我了解,RSAkey通常是基于(强)随机生成器生成的。相反,我想根据密码创建它们。或者更确切地说是在它的散列上,例如sha512(sha512(password+salt)+password+pepper)这需要在客户端用JavaScript完成。有人知道怎么做吗?是否有一个简单的JavaScript库可以根据给定的输入确定性地创建RSAkey对?(实际上,我说的是RSA,但任何安全的非对称加密就足够了,我只需要公私加密)补充:我需要这个,因为我正在构建一些安全的通信解决方案,不需要依赖连接甚至服务器来保证安全。我使用随secret钥使用AES加密所有内容,并且key是RSA加密的。