小编SwD*_*n81的帖子

C#动态属性参数

有办法做到以下几点吗?我看到属性参数必须是一个常量表达式,那么我将如何解决这个问题呢?如果我不想使用绑定将某些属性加载到datagridview中,那么下一个最佳替代方案是什么?

  class TestObj
  {
     private bool isBrowsable = false;

     [Browsable(isBrowsable)]
     public string String1
     {
        get
        {
           return "Foo";
        }
     }
     [Browsable(isBrowsable)]
     public string String2
     {
        get
        {
           return "Baz";
        }
     }
  }
Run Code Online (Sandbox Code Playgroud)

c# attributes properties browsable

3
推荐指数
1
解决办法
8014
查看次数

预测加密字符串的长度

我使用它进行加密:http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanaged.aspx

有没有办法可以预测加密文本的样​​子?我正在将加密的输出转换为文本,因此我可以将其存储在数据库中.

我只想确保数据库列的大小足够大.

我将文本输入限制为20个字符.

.net c# encryption rijndaelmanaged

3
推荐指数
1
解决办法
4427
查看次数

用AES和CryptoAPI解密?当你知道KEY/SALT时

好的,所以我有一个专有的二进制格式.这基本上是几个不同栅格数据集的松散包装.无论如何,过去只是阅读这个和拆包是一件容易的事.但是现在在下一个版本中,光栅xml数据现在要使用AES-256进行加密(不是我的选择,我们也没有选择).

现在我们基本上发送了AES密钥以及他们正在使用的SALT,因此我们可以修改我们的unpackager.

注意这些不是钥匙只是一个例子:

它们每个都是63字节长的ASCII字符:

Key: "QS;x||COdn'YQ@vs-`X\/xf}6T7Fe)[qnr^U*HkLv(yF~n~E23DwA5^#-YK|]v."
Salt: "|$-3C]IWo%g6,!K~FvL0Fy`1s&N<|1fg24Eg#{)lO=o;xXY6o%ux42AvB][j#/&"
Run Code Online (Sandbox Code Playgroud)

我们基本上想用C++ CryptoAPI来解密它(我本周也是这里唯一的程序员,这明天就会上线.不是我们的错).我四处寻找一个实现这个的简单教程.不幸的是,我甚至找不到一个教程,他们分别有盐和密钥.基本上我现在所拥有的只是一个小型函数,它接收一个BYTE数组.随着它的长度.我怎样才能做到这一点?

我早上大部分时间都在尝试制作cryptoAPI的头/尾.但它的进展并不顺利:(

编辑

所以我问他们如何加密它.他们使用C#,并使用RijndaelManaged,据我所知,它不等同于AES.

EDIT2

好吧,终于得到了正在发生的事情,他们给了我们错误的钥匙.

他们正在做以下事情:

填充= PKCS7 CipherMode = CBC密钥定义为一组32字节(十六进制).IV也被定义为一组32字节(十六进制).

当我问他们时,他们带走了盐.

使用wincrypt.h头文件在CryptoAPI中设置这些东西有多难.

c++ cryptoapi rijndaelmanaged

3
推荐指数
1
解决办法
5693
查看次数

C#OpenFileDialog中的Stackoverflow/CLR错误

下面的代码是我悲伤的一个(三个)例子.这是一个简单的OpenFileDialog()调用,导致程序崩溃.在XP上,如果对话框保持打开几秒钟,则会发生崩溃.在Vista上,如果用户选择"我的电脑",则会发生崩溃.在VS2008中,调试器有时会捕获stackoverflowexception.如果我在第一行(新...)中设置了一个断点,vshost.exe会崩溃.如果我在ShowDialog()行放置一个断点,我会得到一个FatalExecutionEngineError.如果我在没有vshost的情况下编译,应用程序将运行直到随机崩溃(如在XP上 - 有一些时间).

还有另外两个打开的对话框可以打开不同类型的文件,这三个文件都具有相同的行为.类似的代码在我的其他项目中没有显示相同的行为.

线程公寓是单身.我试过设置ValidateNames = false.在大多数情况下,调试器正在脱离深层.

OpenFileDialog imageDlg = new OpenFileDialog();
imageDlg.Filter = "All Images|*.jpg;*.jpeg;*.png;*.tif;*.tiff;*.bmp|All Files|*.*|JPEGs (*.jpg)|*.jpg|PNGs (*.png)|*.png|TIFFs (*.tiff)|*.tiff|TIFFs (*.tif)|*.tif|BMPS (*.bmp)|*.bmp";
imageDlg.Title = "Select Scan Image";

if (DialogResult.OK == imageDlg.ShowDialog())
{
    updateImageDisplay();
}
Run Code Online (Sandbox Code Playgroud)

事件处理程序代码

// 
// setScratchImageButton
// 
this.setScratchImageButton.Location = new System.Drawing.Point(191, 15);
this.setScratchImageButton.Name = "setScratchImageButton";
this.setScratchImageButton.Size = new System.Drawing.Size(26, 23);
this.setScratchImageButton.TabIndex = 8;
this.setScratchImageButton.Text = "...";
this.setScratchImageButton.UseVisualStyleBackColor = true;
this.setScratchImageButton.Click += new System.EventHandler(this.setScratchImageButton_Click);
Run Code Online (Sandbox Code Playgroud)

代码叫

    private void updateImageDisplay()
    {
        if (null != project.srcImage)
        {
            imageDisplay.SizeMode = PictureBoxSizeMode.Normal;
            if (project.srcImage …
Run Code Online (Sandbox Code Playgroud)

c# openfiledialog

3
推荐指数
1
解决办法
1768
查看次数

如何在循环期间更改字典的值

如何修改Dictionary中的值?我想在我的字典中循环一个值,同时在我的字典上循环,如下所示:

for (int i = 0; i < dtParams.Count; i++)
{
   dtParams.Values.ElementAt(i).Replace("'", "''");
}
Run Code Online (Sandbox Code Playgroud)

dtParams我的位置在哪里Dictionary

我想做一些像这样的事情:

string a = "car";    
a = a.Replace("r","t");
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net collections

3
推荐指数
1
解决办法
9133
查看次数

处置构造函数注入对象

假设我有一个与另一个班级相关联的班级.它看起来像下面这样:

public class DisposableClassOne : IDisposable
{
   private class mDisposableClassTwo;

   public DisplosableClassOne(DisposableClassTwo dcTwoInjected)
   {
      mDisposableClassTwo = dcTwoInjected;
   }

   public void Dispose()
   {
      // Should I dispose here? or make caller dispose of dcTwoInjected
      //mDisposableClassTwo.Dispose();
   }
}
Run Code Online (Sandbox Code Playgroud)

我应该调用Dispose方法mDisposableClassTwo还是应该让调用者像这样处理它?

using(DisposableClassTwo dcTwoInjected = new DisposableClassTwo())
using(DisposableClassOne dcOne = new DisposableClassOne(dcTwoInjected))
{
   // do stuff with dcOne
}
Run Code Online (Sandbox Code Playgroud)

我正在考虑让调用者处理它是最好的方法,但我认为通过在Dispose方法中调用它可以保证它会被调用.有没有更好的方法来处理这个?

c# dependency-injection idisposable winforms

3
推荐指数
1
解决办法
2095
查看次数

如何将字节数组转换为字符串?

使用以下函数:http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanaged.aspx

public static byte[] encryptStringToBytes_AES(string plainText, byte[] Key, byte[] IV)
Run Code Online (Sandbox Code Playgroud)

如您所见,它返回一个字节数组,我想将字节数组转换为字符串.

如何将它从字节数组转换为字符串,反之亦然?

c# encryption bytearray aes rijndaelmanaged

2
推荐指数
1
解决办法
4474
查看次数

如何预先确定加密操作中生成的密文的长度?

我有一个应用程序,它以加密状态存储一些信息,包括文件和数据库.如何根据纯文本输入计算得到的密文的长度?

加密操作包括使用.NET RijndaelManaged类/算法,然后在存储之前转换为Base64字符串.

我希望能够做的是事先知道加密字符串对于给定输入的长度,以便我可以相应于其加密形式的可用存储空间相应地限制输入的长度(如果这是有意义的话) !).

谢谢

security cryptography rijndaelmanaged

2
推荐指数
1
解决办法
264
查看次数

TextBox.Text中的奇怪行为

TextBox.Text是字符串属性

但如果你指定一个int,十进制..etc它就可以了!!

int x = 5;

Textbox1.Text = x; // it works
Run Code Online (Sandbox Code Playgroud)

任何身体都知道为什么能告诉我?

c# asp.net

2
推荐指数
1
解决办法
217
查看次数

ArrayList C#包含方法查询

我有一份ObservableCollection<myClass>清单.它包含10个类型的对象MyClass.

class MyClass
{
  string name;
  int age;
}
Run Code Online (Sandbox Code Playgroud)

如果我想查找列表中的所有项目age = 10,我可以使用该Contains方法吗?如果是,如何在不使用迭代的情况下执行此操作?

c# observablecollection

2
推荐指数
2
解决办法
2216
查看次数