相关疑难解决方法(0)

如何将十六进制字符串转换为字节数组?

我们可以使用C#中的内置函数将十六进制字符串转换为字节数组,还是必须为此创建自定义方法?

c# encoding hex

260
推荐指数
4
解决办法
47万
查看次数

在C#中复制T-SQL DecryptByPassPhrase

我想创建一个C#类来解密使用T-SQL的EncryptByPassPhrase加密的字节数组.(是的,我知道我可以在SQL Server中解密,但我需要的是能够在数据库层和中间层中等效加密/解密.)

据我所知,SQL Server的EncryptByPassPhrase和DecryptByPassPhrase使用TripleDES对称密钥算法.但是,我不清楚IV应该模拟SQL Server的密码学.我可以使用TripleDESCryptoServiceProvider类加密/解密,但是我找不到正确的key和IV实现来复制SQL Server正在做的事情.

有没有人做过类似的事情?谢谢!

c# sql encryption 3des

9
推荐指数
1
解决办法
4404
查看次数

C# 等效于 DecryptByPassPhrase

我需要解密使用 EncryptByPassPhrase 在数据库上加密的值,但不访问数据库。

如何从密码短语中获取加密密钥?

我看过

在 C# 中复制 T-SQL DecryptByPassPhrase

C# 从 SQL Server EncryptByPassPhrase 解密字节?

我的代码是:

public static string AESDatabaseDecrypt(string encryptedString)
{
    passphrase =     "S0meFakePassPhrase01234!";
    encryptedString = "AQAAAOmuc52dnbVwTqEx1kp+4WhI89LYKHh3jg=="; // temporarily hard coded


    // setup encryption settings to match decryptbypassphrase
    TripleDESCryptoServiceProvider provider = new TripleDESCryptoServiceProvider();
    provider.Key = UTF8Encoding.UTF8.GetBytes(passphrase).Take(16).ToArray(); // stuck on getting key from passphrase
    provider.KeySize = 128;
    provider.Padding = PaddingMode.Zeros;
    // setup data to be decrypted
    byte[] encryptedStringAsByteArray = Convert.FromBase64String(encryptedString);

    // hack some extra bytes up to a …
Run Code Online (Sandbox Code Playgroud)

c# sql encryption

6
推荐指数
1
解决办法
4165
查看次数

如何在PHP中解密由SQL Server的EncryptByPassPhrase()加密的字符串?

我有一个加密的字符串及其密钥,它是通过SQL Server使用“ EncryptByPassPhrase”创建的,如何在PHP中对其进行解密?

我已经阅读了“ EncryptByPassPhrase”的文档,该文档指出这是128长度的三重DES加密。我尝试对PHP进行3DES解密,但未返回预期的输出。

MS SQL中的加密是通过

declare @encrypt varbinary(200) 
select @encrypt = EncryptByPassPhrase('key', 'taskseq=10000&amt=200.5' )
select @encrypt 
Run Code Online (Sandbox Code Playgroud)

我在PHP中将其解密如下:

    function decryptECB($encrypted, $key) {
       $iv_size = mcrypt_get_iv_size(MCRYPT_3DES, MCRYPT_MODE_ECB);
       $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
       // decrypting
       $stringText = mcrypt_decrypt(MCRYPT_3DES, $key, $encrypted, 
       MCRYPT_MODE_ECB, $iv);

       return $stringText;
    }
Run Code Online (Sandbox Code Playgroud)

php sql t-sql sql-server encryption

5
推荐指数
1
解决办法
521
查看次数

标签 统计

c# ×3

encryption ×3

sql ×3

3des ×1

encoding ×1

hex ×1

php ×1

sql-server ×1

t-sql ×1