Tag: 加密

LINQ to SQL在填充对象之前解密值

我的一个表中有一个字段使用加密 ENCRYPTBYPASSPHRASE(,) 当值被放入对象时,该字段仍然是加密的,因此我无法对其进行任何操作。 我无法创建一个视图或存储过程或任何其他解密数据库字段的项目,因为它失去了加密字段的目的。 有没有办法使框架工作运行像 DECRYPTBYPASSPHRASE(, ) 在将值赋给对象之前? 现在我正在获取数据,然后调用ExecuteQuery来解密该值。 并在我的数据模型类的加密值上分配新值。 它有效,但我只是想知道它是否可以通过我不知道的一些选项自动完成。 我试过搜索但没找到任何东西。

crc32解密短字符串

我正在检索包含文件名称的crc32哈希列表,而不是内容。 我需要能够解密像“vacationplans_2010.txt”这样的哈希名称的字符串 长度不到25个字符。 这可能吗?

解决使用C#在Salesforce中创建的AES256值

在Salesforce中运行以下Apex代码,我加密了一个字符串: public static String getEncryptedData() { Blob cryptoKey = Crypto.generateAesKey(256); String dataToEncrypt = ‘Test string’; Blob encryptedData = Crypto.encryptWithManagedIV(‘AES256’, cryptoKey, Blob.valueOf(dataToEncrypt)); return EncodingUtil.base64Encode(encryptedData); } 假设这个实现是正确的,我需要在C#中解密它。 我有以下,但我看到“填充无效,无法删除”错误。 (当然,示例密钥和加密的字符串值): private string Decrypt(string encryptedbase64Password) { RijndaelManaged aes256 = new RijndaelManaged(); aes256.KeySize = 256; aes256.Mode = CipherMode.CBC; aes256.Padding = PaddingMode.PKCS7; aes256.BlockSize = 128; // Salesforce.com stores the first 16 […]

CngKey.Import(…); 在PC上成功但在Web主机上失败

以下行在我的PC上成功,但在Web主机的服务器上抛出exception: CngKey.Import(EccPrivateBlob, CngKeyBlobFormat.EccPrivateBlob); //EccPrivateBlob is a byte[] that works on my PC. 例外: System.Security.Cryptography.CryptographicException:发生内部错误。 在System.Security.Cryptography.NCryptNative.OpenStorageProvider(String providerName)的System.Security.Cryptography.CngKey.Import(Byte [] keyBlob,CngKeyBlobFormat格式,CngProvider提供者)at … 这是安全例外吗? 有办法解决吗?

在.Net中获取CryptoStream的长度

我正在研究加密/解密文件的软件。 我希望能够在加密后猜测数据的长度,但我不能使用CryptoStream.Length(它会抛出NotSupportedException)。 有什么方法可以猜测吗? 我正在使用RijndaelManaged(.Net Framework 4.0)

关键加强。 我做得对吗?

我正在编写一个哈希密码的类,它通过使用System.Security.Cryptography.Rfc2898DeriveBytes类来生成用于计算哈希值的键来实现密钥拉伸 。 代码基本上是这样做的: // Higher iterations value results in better key strength var db = new Rfc2898DeriveBytes(password + salt + secretKeyFromConfigFile, saltAsBytes, iterations); byte[] hashKey = db.GetBytes(64); // 64 bytes is the recommended size for the HMACSHA512 class var sha512 = new System.Security.Cryptography.HMACSHA512(hashKey); byte[] hashInput = System.Text.Encoding.UTF8.GetBytes(password + salt + secretKeyFromConfigFile); byte[] hash = sha512.ComputeHash(hashInput); […]

C#中的RC4 128位加密

我需要执行128位RC4加密,我使用的是.NET和C#。 是否有内置函数来执行此操作。 如果没有,我发现这个function可以做到: public void RC4(ref Byte[] bytes, Byte[] key) { Byte[] s = new Byte[256]; Byte[] k = new Byte[256]; Byte temp; int i, j; for (i = 0; i < 256; i++) { s[i] = (Byte)i; k[i] = key[i % key.GetLength(0)]; } j = 0; for (i = 0; i < 256; i++) […]

C#中的PKCS5Padding

我需要使用DESede pkcs5填充来加密字符串。 但是C#只提供PKCS7填充。 那我该怎么做呢?

如何在加密和解密期间避免额外的内存使用?

所以我有一个基本的加密类。 请注意,这是一个简化的实现来说明问题。 现在我想这两个方法都有一个额外的字节数组和字符串实例。 Encrypt xmlString和bytes 和 decryptedBytes中的Decrypt和Decrypt 那么如何重新设计此类中的流的使用以最小化内存使用? class Crypto { Rijndael rijndael; public Crypto() { rijndael = Rijndael.Create(); rijndael.Key = Encoding.ASCII.GetBytes(“aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”); ; rijndael.IV = Encoding.ASCII.GetBytes(“bbbbbbbbbbbbbbbb”); ; rijndael.Padding = PaddingMode.PKCS7; } public byte[] Encrypt(object obj) { var settings = new XmlWriterSettings { OmitXmlDeclaration = true }; var ns = new XmlSerializerNamespaces(); ns.Add(“”, “”); var sb […]

在.Net 4中加密SQL Server / Decrypt

我知道这可能是这个问题的重复: 如何加密sql server中的数据并在.net应用程序中解密 – 但这是近一年前问的,我希望可能有进步或其他东西。 无论如何,我们有一个应用程序,FTP文件从一个位置到另一个位置,显然FTP配置文件需要一个密码。 我们有一个包含配置文件所有详细信息的数据库,但我们需要加密密码。 我们已经考虑过在SQL中解密然后将它们发送到应用程序,但这意味着通过网络发送它,这是我们不想要的。 我们想要加密存储的密码,将详细信息传递给应用程序,然后在应用程序中解密它们。 这可能吗? 从我的谷歌搜索,它似乎不是,但我希望有人有一个技巧或东西。 提前致谢! 注意:我使用的是.Net 4和SQL Server 2008 R2。