Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Sql类型和加密大小_C#_Sql_Sql Server_Sql Server 2012_Encryption Symmetric - Fatal编程技术网

C# Sql类型和加密大小

C# Sql类型和加密大小,c#,sql,sql-server,sql-server-2012,encryption-symmetric,C#,Sql,Sql Server,Sql Server 2012,Encryption Symmetric,我将在一些动态生成的Sql Server 2012表上引入对称密钥加密 我希望存储: 瓦尔查尔(X) 整数 日期时间 布尔值 我使用 CREATE SYMMETRIC KEY MyKey     WITH ALGORITHM = AES_256     ENCRYPTION BY CERTIFICATE MyCertificate GO 我使用插入数据,即 insert into SecureTable(value) values (EncryptByKey(@ui, CONVERT(varb

我将在一些动态生成的Sql Server 2012表上引入对称密钥加密

我希望存储:

  • 瓦尔查尔(X)
  • 整数
  • 日期时间
  • 布尔值
  • 我使用

    CREATE SYMMETRIC KEY MyKey
        WITH ALGORITHM = AES_256
        ENCRYPTION BY CERTIFICATE MyCertificate
    GO
    
    我使用插入数据,即

    insert into SecureTable(value) values (EncryptByKey(@ui, CONVERT(varbinary(max), 12345)))
    
    结果是:

    0x0022377E67EFF34DAAAD0F812153593D01000000C867C6F2085D3850BF1F50275945CFEA90297C51D537E8C443B5F34050B325E0

    如何有效地调整目标列的大小?使用Always
    VARBINARY(MAX)
    感觉不对

    我要找的东西是:

    • int=>varbinary(32)
    • varchar(x)=>varbinary(Y)
    • 布尔=>varbinary(10)
    • 数据时间=>

    正如@Joe Enos建议的那样,我尝试加密几种数据类型。这是经验的结果:

    • 整数:需要52个字节
    • varchar(X):需要X+45到X+65字节
    • 浮点:68字节
    • 十进制(30,12):68字节
    • 日期时间:68字节
    • 位:52字节

    创建一些不同大小的虚拟数据,看看它有多大。