Tag: 加密

客户端和服务器端之间的兼容加密库(Javascript – > C#或Java)

有时HTTPS还不够。 特别是当我们谈论保护用户数据来保护特洛伊人在winsock32级别访问时,他们可以在纯文本中嗅探https或者已经可以访问浏览器内存中已解密发布数据的BHO对象。 在这种情况下,我开发了一个javascript – >经典的asp客户端服务器例程,其中javascript加密并发送由ASP接收和解密的数据。 它工作得非常好。 这个解决方案是用xICE加密构建的,它提供了javascript和PHP或ASP之间的良好兼容性。 但现在我正在迁移到ASP.NET或Java,而且XICE中没有这些环境的端口。 ¿有什么建议吗?

C#AES解密代码

我有AES算法的字符串加密/解密代码。 加密工作正常,但我解密后无法获得正确的纯文本。 解密代码中肯定有问题。 我复制了下面的代码。 请帮忙。 谢谢。 以下是加密和解密代码。 public static class EncryptionHelper { private static int BlockSize = 16; private static byte[] Key { get { byte[] hash = SHA1.Create().ComputeHash(Encoding.UTF8.GetBytes(“BlahBlahBlah”)); byte[] key = new byte[BlockSize]; Array.Copy(hash, 0, key, 0, BlockSize); return key; } } private static byte[] IV { get { StringBuilder builder = new StringBuilder(); […]

C#windows窗体中的Rijndael Cipher错误

我目前有兴趣进一步提高我在加密和解密方面的编程技巧,并为Rijndael密码找到了一些例子。 我开始在c#中编写自己的程序,然后单击我的加密按钮,打开一个对话框窗口,允许我选择一个文件……到目前为止一切正常 我选择一个文件,然后逐步执行我的代码,我得到了我的文件的根路径,生成一个密钥,然后我开始将我的纯文本转换为密文…这里是我遇到问题的地方。 try { OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = “All Files (*.*)|”; dialog.InitialDirectory = @”Desktop”; dialog.Title = “Please select a file to encrypt.”; dialog.ShowDialog(); inputFile = dialog.FileName; outputFile = inputFile; string password = @”secrets”; // key to encrypt files UnicodeEncoding UE = new UnicodeEncoding(); byte[] key = UE.GetBytes(password); string cryptFile = outputFile; […]

在C#中加密数据

我有一个应用程序,需要加密数据,然后存储在文件中。 此数据应加密为行业标准,如AES。 数据可以是文本数据或二进制数据。 用户不应将密钥存储在某处,而应提供字母数字密码(用作密钥)来解密数据。 在C#.NET 3.5中,最好的方法是什么? 理想情况下,我正在寻找一个我可以使用的黑盒子类: byte[] writeThisToFile = EncryptionClass.Encrypt(string data, string password); byte[] writeThisToFile = EncryptionClass.Encrypt(byte[] data, string password); byte[] plainBinaryData = EncryptionClass.DecryptBinary(byte[] encryptedFileContents, string password); string plainText = EncryptionClass.DecryptText(byte[] encryptedFileContents, string password);

Asp.net身份哈希安全吗?

我在以下url中引用了以下网站,用于Rijndael和Asp.net哈希实现。 Rijndael – 如何使用密码生成Rijndael KEY和IV? Asp.net哈希 – ASP.NET身份默认密码哈希,它是如何工作的并且它是否安全? 在两个实现中,以下用于获取密码的随机字节。 Rijndael算法 Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(password, SALT); Asp.net身份哈希 Rfc2898DeriveBytes bytes = new Rfc2898DeriveBytes(providedPassword, salt, HasingIterationsCount) 在上面的代码之后,RijnDael对返回的字节应用加密。 但是asp.net标识将结果复制到salt字节数组并返回散列键。 在这里,我有一个混乱。 RijnDael和Asp.net身份哈希使用相同的Rfc2898DeriveBytes 。 当RijnDael可以解密加密的密钥(这是在Rfc2898DeriveBytes的帮助下完成的),为什么我们可以解密Asp.net Identity哈希密钥? 有可能这样做吗? Asp.net身份是否安全?

如何将openssl_pkey_get_public和openssl_verify转换为C#.NET

PHP代码validation来自银行的iPizza签名: $key = openssl_pkey_get_public (file_get_contents ($preferences[‘bank_certificate’])); if (!openssl_verify ($data, $signature, $key)) { trigger_error (“Invalid signature”, E_USER_ERROR); } 我尝试使用它将其转换为ASP .NET SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider(); X509Certificate2 cert = new X509Certificate2(HttpContext.Current.Request.MapPath(“~/App_Data/bankert.crt”), “”); RSACryptoServiceProvider rsaCryptoIPT = new RSACryptoServiceProvider(); rsaCryptoIPT.ImportCspBlob(cert.RawData); if (!rsaCryptoIPT.VerifyData(data, CryptoConfig.MapNameToOID(“SHA1”), signature)) throw new InvalidOperationException(“Invalid signature from bank “); 但是行rsaCryptoIPT.ImportCspBlob(cert.RawData)会导致Cryptography.CryptographicException无效的提供程序版本: StackTrace: at System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr) at System.Security.Cryptography.Utils._ImportCspBlob(Byte[] keyBlob, […]

由Windows.Security.Cryptography.CryptographicBuffer中的方法生成的IBuffer对象是否具有安全function?

Windows.Security.Cryptography.CryptographicBuffer类包含用于在字符串和可由加密函数使用的IBuffer实现对象之间进行转换的静态方法。 这些对象是否在内部具有特殊的安全措施,例如防止分页到磁盘,静态加密和/或在释放对象时擦除? 如果没有,还有其他选择吗? 对于替代方案,首选C#/ .Net for Windows Universal Apps; 必要时使用C ++ / CX。 编辑:在这里问问题的第二部分: Windows.Security.Cryptography.CryptographicBuffer中的方法生成的IBuffer对象是否具有安全function?

C#简单加密

嗨’我正在学习C#(作为业余爱好者),并试图想出如何编写一个简单的加密程序。 从ASCII转换字符很好,得到了排序,但它是我坚持的转变。 例如,如果我想编码(n + 3),我应该遵循什么样的思路?

如何在查询字符串中安全地包含密码

是否可以在ac#asp.net站点的查询字符串中安全地包含密码。 我知道很少的假设和事情 – 该网站不会也不会与其他网站进行链接/图像/ javascript /分析。 所以没有引用者链接担心。 与Web浏览器的所有通信都将通过https进行。 我知道查询字符串将保留在计算机的历史记录中。 登录时需要的不仅仅是密码/用户名。 因此,简单地将URL粘贴回浏览器将不会导致登录。 我知道该网站可能容易受到跨站点脚本和重放攻击。 我如何减轻这些? 鉴于上述情况,我应该如何在查询字符串中包含密码? 请不要问我’为什么’,我知道这不是一个好主意,但它是客户想要的。

加密和解密密码

我使用以下代码加密和解密asp.net中的密码。 加密工作完美,但解密时抛出此错误Invalid length for a Base-64 char array. 我的密码是123,我使用它如下加密: HttpUtility.UrlEncode(CryptorEngine.Encrypt(strpassword, true)); 并解密我使用它如下: CryptorEngine.Decrypt(HttpUtility.UrlDecode(strpassword), true)); 这是代码: public class CryptorEngine { /// /// Encrypt a string using dual encryption method. Return a encrypted cipher Text /// /// string to be encrypted /// use hashing? send to for extra secirity /// public static string Encrypt(string toEncrypt, bool useHashing) […]