Tag: encryption

如何使用公钥加密技术加密字符串

我正在尝试实现自己的RSA加密引擎。 鉴于这些RSA算法值: p = 61. // A prime number. q = 53. // Also a prime number. n = 3233. // p * q. totient = 3120. // (p – 1) * (q – 1) e = 991. // Co-prime to the totient (co-prime to 3120). d = 1231. // d * e = 1219921, […]

rijndael加密 – 只解密部分字符串

只有部分字符串被解密,我认为它与我的编码有关。 这是发生的事情: string s = “The brown fox jumped over the green frog”; string k = “urieurut”; string enc = EncryptString(s, k); string dec = DecryptString(enc, k); 结果是这样的:棕色的狐狸ϼ裴裴ㆉ≸frog frog frog frog frog frog frog frog frog public static string EncryptString(string stringToEncrypt, string encryptionKey) { string encrypted = String.Empty; UnicodeEncoding UE = new UnicodeEncoding(); byte[] key […]

如何使用C#从PKCS#12(.p12)文件获取私钥

我试图使用PKCS#12证书签署一些数据,但是我从PKCS#12(.p12)文件获取私钥时遇到问题。 public byte[] sign(string text) { string password = “1111”; X509Certificate2 cert = new X509Certificate2(“c:\\certificate.p12”,password); byte[] certData = cert.Export(X509ContentType.Pfx,password); X509Certificate2 newCert = new X509Certificate2(certData, password); RSACryptoServiceProvider crypt = (RSACryptoServiceProvider)newCert.PrivateKey; SHA1Managed sha1 = new SHA1Managed(); UnicodeEncoding encoding = new UnicodeEncoding(); byte[] data = encoding.GetBytes(text); byte[] hash = sha1.ComputeHash(data); return crypt.SignHash(hash, CryptoConfig.MapNameToOID(“SHA1”)); } 问题是newCert.PrivateKey为null但如果我使用.pfx certicitae以类似的方式工作。 public byte[] […]

使用BouncyCastle PGP解密文件的例外情况

我试图使用一个名为PgpDecrypt的类来解密客户端给出的这个示例文件。 但是当代码来到这一行时: Stream clear = pbe.GetDataStream(privKey); 它返回一个错误: exception解密密钥 这是我的解密代码: PgpDecrypt test = new PgpDecrypt(string.Concat(pathh, “TestDecryptionFile”), string.Concat(pathh, “mypgpprivatekey.key”), “mypassphrase”, @”d:/test/”, string.Concat(pathh, “clientpublickey.key”)); FileStream fs = File.Open(string.Concat(pathh, “TestDecryptionFile”), FileMode.Open); test.Decrypt(fs, @”d:\test\”); 我使用BouncyCastle作为.NET的第三方库。 任何解决这个问题的想法都会有很大的帮助。 提前致谢!

从cryptostream读取到流的末尾

我在使用下面的代码时遇到了一些麻烦。 我有一个临时位置的文件,需要加密,此function加密该数据,然后存储在“pathToSave”位置。 在检查时似乎没有正确处理整个文件 – 我的输出中缺少一些位,我怀疑它与while循环没有贯穿整个流有关。 顺便说一句,如果我尝试在while循环后调用CryptStrm.Close(),我会收到exception。 这意味着如果我尝试解密文件,我会得到一个已经在使用的文件错误! 尝试了所有平常和我在这里看到类似的问题,任何帮助都会很棒。 谢谢 public void EncryptFile(String tempPath, String pathToSave) { try { FileStream InputFile = new FileStream(tempPath, FileMode.Open, FileAccess.Read); FileStream OutputFile = new FileStream(pathToSave, FileMode.Create, FileAccess.Write); RijndaelManaged RijCrypto = new RijndaelManaged(); //Key byte[] Key = new byte[32] { … }; //Initialisation Vector byte[] IV = new byte[32] { … […]

加密.NET Core中的字符串

我想使用密钥加密.NET Core中的字符串。 我有一个客户端/服务器场景,并希望加密客户端上的字符串,将其发送到服务器并解密。 由于.NET Core仍处于早期阶段(例如Rijndael尚未推出),我有哪些选择?

使用BouncyCastle c#进行PgP加密和解密

我看过很多post,其中有一些教程,但似乎都没有。 有时,他们会引用一些未找到的类。 我是否可以指向一个可以获得简单教程的地方,该教程展示了如何加密和解密文件。 我对Pgp很新,欢迎任何帮助。

在C#中复制T-SQL DecryptByPassPhrase

我想创建一个C#类来解密使用T-SQL的EncryptByPassPhrase加密的字节数组。 (是的,我知道我可以在SQL Server中解密,但我需要的是能够在数据库层和中间层等效地加密/解密。) 据我所知,SQL Server的EncryptByPassPhrase和DecryptByPassPhrase使用TripleDES对称密钥算法。 但是,我不清楚IV应该模拟SQL Server的密码学。 我可以使用TripleDESCryptoServiceProvider类加密/解密,但是我找不到正确的key和IV实现来复制SQL Server正在做的事情。 有没有人做过类似的事情? 谢谢!

使用.NET 4.5(System.IdentityModel)/ WIF解密SAML 2断言

我正在尝试解密从基于Java的身份提供程序发出的加密SAML 2.0断言。 鉴于以下安全令牌处理程序的设置: X509Certificate2 cert = … // Contains private key var serviceTokens = new List(); serviceTokens.Add(new X509SecurityToken(cert)); var issuers = new ConfigurationBasedIssuerNameRegistry(); issuers.AddTrustedIssuer(“…thumbprint…”, “nottherealname”); var configuration = new SecurityTokenHandlerConfiguration { AudienceRestriction = { AudienceMode = AudienceUriMode.Never }, CertificateValidationMode = X509CertificateValidationMode.None, RevocationMode = X509RevocationMode.NoCheck, IssuerNameRegistry = issuers, MaxClockSkew = TimeSpan.FromMinutes(5), ServiceTokenResolver = SecurityTokenResolver.CreateDefaultSecurityTokenResolver(serviceTokens.AsReadOnly(), false) }; […]

C#和PHP,ColdFusion,Ruby,Python之间的兼容加密

我们正在开发一种接受POST请求的服务。 一些POST数据需要在POST之前加密,因为它将存储在表单上的隐藏字段中。 该应用程序是用C#编写的,但我们希望第三方客户能够轻松地与它集成。 我们发现大多数客户使用PHP,Classic ASP或VB.Net。 第三方应该只进行加密。 我们做解密。 没有双向沟通。 什么是最兼容的加密算法,填充模式和其他选项的组合?