Tag: 加密

从Action Script到C#的Rijndael加密

我试图在Action Script和C#之间共享加密 我的任务是在C#中解密以下消息 f1ca22a365ba54c005c3eb599d84b19c354d26dcf475ab4be775b991ac97884791017b12471000def05bb77bfe9c3a97d44ef78c9449f12daf6e25b61ab1a281 它使用Rijndael encyption,ECB模式(电子代码簿),密钥:Pas5pr @ se,128位密钥大小和块大小。 我遇到的问题是我似乎无法做到,有人帮我这个吗?

我应该如何为AES加密数据库条目派生密钥和初始化向量?

我已经构建了一个CMS系统,允许用户在我的客户端的Intranet应用程序上创建和管理在线表单。 当然,表单处理的一些数据可能需要加密,例如,如果系统用于构建处理工资细节或其他任何内容的表单。 所以我使用AESManaged类在进入我们的应用程序db之前对这种数据进行对称加密。 一切都很好,但现在,在发布之前,我可以做一个关于shared secret和salt的转向。 我最初的想法是通过将包含加密字段的Form的(基于GUID的)ID与问题的(再次,基于GUID的)ID相结合来创建(动态) shared secret ,该字段是以下答案: FormId:QuestionId 我的Salt目前以相同的方式生成,只有Guids顺序颠倒了。 QuestionID:FormID. 我是新手,所以不确定这是一个明智的策略,还是我应该以其他方式做到这一点?

我有错误的哈希值? C#密码学

我的文本文件说快速的棕色狐狸跳过懒狗,但是当我尝试从这个文件中获取哈希值时,md5和sha1都与wikipedias结果不同。 我有3个问题。 1)我在代码中做错了什么? 2)我怎样才能更好地使用这段代码? (我需要初始化)3)我如何加盐? { const int bufSize = 1024 * 8; int read; byte[] buf = new byte[bufSize]; string fn = @”b.txt”; byte[] result1 = new byte[0]; byte[] result2 = new byte[0]; SHA1 sha = new SHA1CryptoServiceProvider(); MD5 md5 = new MD5CryptoServiceProvider(); sha.Initialize(); md5.Initialize(); FileStream fin = File.OpenRead(fn); while ((read = fin.Read(buf, 0, […]

C#密码加密

我发现一些在线代码可以很好地用于我想做的事情。 我需要一些能够加密密码,将其保存到数据库并轻松检索的东西。 以下代码几乎可以满足我的一切需求。 string UserName = txtUser.Text; string password = txtPass.Text; string encrKey = “keyvalue”; byte[] byteKey = { }; byte[] IV = {25, 47, 60, 88, 99, 106, 125, 139}; byteKey = Encoding.UTF8.GetBytes(encrKey.Substring(0, 8)); DESCryptoServiceProvider des = new DESCryptoServiceProvider(); byte[] inputArray = Encoding.UTF8.GetBytes(password); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byteKey, […]

解密时Base-64 char数组的长度无效

在某些情况下,我通过(解密)得到以下exception,我无法确切地知道原因: Base-64 char数组的长度无效 我的代码: public static string encodeSTROnUrl(string thisEncode) { if (null == thisEncode) return string.Empty; return HttpUtility.UrlEncode(Encrypt(thisEncode)); } // string thisDecode = “3Dn%2bsJJPXprU4%3d”; //this is the value which cause the exception. public static string decodeSTROnUrl(string thisDecode) { return Decrypt(HttpUtility.UrlDecode(thisDecode)); } QueryStringEncryption.Cryptography.decodeSTROnUrl(Request.QueryString[“val”].ToString()); 抛出exception的确切行是: Byte[] byteArray = Convert.FromBase64String(text); 我以为我通过在加密和解密操作之前和之后的编码和解码来解决这个问题。但是一些值仍然抛出这个exception。 注意:我注意到一些奇怪的行为:作为发送到我的邮件的查询字符串的id是: n%2bsJJPXprU4%3d它没有例外工作.. 并且有问题的用户发送的url包含3Dn%2bsJJPXprU4%3d 这是一个浏览器问题?? !!

将字符串加密为固定长度

我想将字符串加密到base64,字符串输入可以是差分长度(限制为16个字符),我想获得固定长度的加密字符串。 有谁知道在.NET框架中这样做的方法? 或者有算法来做到这一点?

如何解密通过PowerShell加密的C#中的字符串

是否有可能解密通过PowerShell加密的C#中的字符串以及如何? 该字符串通过PowerShell加密,如下所示: $pw = read-host “Enter Password” –AsSecureString ConvertFrom-SecureString $pw | out-file “C:\file.txt” 要使用PowerShell将其转换回来,我可以使用这些调用C#类System.Runtime.InteropServices.Marshal命令。 $pwdSec = Get-Content “C:\file.txt” | ConvertTo-SecureString $bPswd = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pwdSec) $pswd = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($bPswd) File包含已转换为加密标准string(“hello”) 。 因此,如果打开file.txt文件,它看起来类似于: 01000000d08c9ddf0115d1118c7a00c04fc297eb0100000052ded6c2db80e748933432e19b9de8b10000 000002000000000003660000c00000001000000016dc35885d76d07bab289eb9927cfc1e000000000480 0000a0000000100000003106cde553f45b08d13d89d11336170b280000005cc865c1ee1b57e84ed3d1a2 d3f2d0ec0f189b532e61c18d1f31444d6f119a1e8368477fd2d81f54140000000cb0262e58b08ae14f37 22c14c69684841b6b21c

如何使用Compact Framework在C#中validationX.509证书

我正在尝试使用C#和.NetCFvalidationX.509证书。 我有CA证书,如果我理解正确,我需要使用此CA证书中的公钥来解密不受信任证书的签名。 这应该给我不受信任证书的计算哈希值。 然后我应该自己计算证书的哈希值并确保两个值匹配。 我已经玩了几天了,我没有走得太远。 我一直在使用X509Certificate和RSACryptoServiceProvider类。 首先,我尝试从X509Certificate类中获取公钥和签名。 我能够获得公钥而不是签名。 接下来,我尝试解析构成证书的二进制数据,这允许我获取签名(以及我想要的任何其他数据),但我无法使用RSACryptoServiceProvider解密签名。 我试过这样的事情,但在我试图解密的时候不断得到说“Bad Key”的exception: RSAParameters rsaParams = new RSAParameters(); rsaParams.Exponent = exp; rsaParams.Modulus = mod; RSACryptoServiceProvider rsaServ = new RSACryptoServiceProvider(); rsaServ.ImportParameters(rsaParams); byte[] decryptedSig = rsaServ.Decrypt(encryptedSig, false); 任何建议将不胜感激。 编辑:我尝试了似乎更好的东西,但返回了一个奇怪的结果。 我在这里使用X509Certificate2类,因为它更容易进行测试,但我需要稍后切换到.NetCF的X509Certificate。 我认为RSACryptoServiceProvider.VerifyData可能就是我所需要的。 我尝试了以下代码。 X509Certificate2 cert = new X509Certificate2(certBytes); X509Certificate2 certCA1 = new X509Certificate2(@”C:\certs\certCA1.cer”); byte[] encryptedSig = new byte[256]; Array.Copy(certBytes, certBytes.Length […]

如何使用私钥加密字符串并使用公钥解密?

我从不使用加密库,但我想用私钥加密字符串并通过公钥解密。 如何在c#中实现这一点。 请帮我处理小代码片段。 谢谢

.net的S / MIME库?

我需要使用C#创建S / MIME消息(如RFC 2633,“S / MIME版本3消息规范”和RFC 3335中所述)。 我能找到的唯一一个S / MIME库是一个商业库( http://www.example-code.com/csharp/smime.asp ),这对我们没有好处。 是否有任何现有的库可以完成创建S / MIME消息,特别是.p7s文件? 我有所有加密和签名的元素需要进入这个文件,但我想创建.p7s文件,而无需借助RFC文档手动我自己的库… 编辑:我发现了另一个商业S / MIME库 ,它仍然不符合我们的要求。 它看起来越来越像我将不得不手动滚动一个S / MIME库,这很难过。 是.net中的每个人都需要使用商业,封闭源库来进行S / MIME吗?