草庐IT

安全字典

全部标签

c# - C#++ 运算符在 foreach 循环中是否成为线程安全的?

最近我从VB转到C#,所以我经常使用C#到VB.NET的转换器来了解语法差异。在将next方法转移到VB时,我注意到一件有趣的事情。C#原代码:publicboolExceedsThreshold(intthreshold,IEnumerablebools){inttrueCnt=0;foreach(boolbinbools)if(b&&(++trueCnt>threshold))returntrue;returnfalse;}VB.NET结果:PublicFunctionExceedsThreshold(thresholdAsInteger,boolsAsIEnumerable(Of

c# - 如何智能安全地将 Double 转换为 String?

尽量不要在这里重复自己(干),帮帮我。=)我有一个double代表评分/5。可能的值是:0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5.我想将其转换为不带小数位的字符串。所以值会变成:"0","05","1","15","2","25","3","35","4","45","5".我为什么要这样做?因为我正在尝试根据值动态创建链接:stringlink="http://somewhere.com/images/rating_{0}.gif";returnstring.Format(link,"15");可能的值在别处处理/验证,换句话说,我可以100%确定该值将始终是我

c# - .NET 2.0 : File. AppendAllText(...) - 线程安全实现

作为无聊的好奇心练习,考虑以下简单的日志记录类:internalstaticclassLogging{privatestaticobjectthreadlock;staticLogging(){threadlock=newobject();}internalstaticvoidWriteLog(stringmessage){try{lock(threadlock){File.AppendAllText(@"C:\logfile.log",message);}}catch{...handleloggingerrors...}}}File.AppendAllText(...)周围是否需要锁

c# - .NET 程序集插件安全

我在许多应用程序中使用了以下代码来加载公开插件的.DLL程序集。但是,我以前总是关心功能,而不是安全性。我现在正计划在除我以外的其他组可以使用的Web应用程序上使用此方法,并且我想确保该功能的安全性是合格的。privatevoidLoadPlugins(stringpluginsDirectory){Listfactories=newList();foreach(stringpathinDirectory.GetFiles(pluginsDirectory,"*.dll")){Assemblyassembly=Assembly.LoadFile(path);foreach(Typety

c# - 将盐与散列密码一起存储有多安全

如果您查看过asp.net成员(member)系统的表模式,它们会存储原始密码的哈希值以及用于生成它的盐。请参阅下面的架构,dbo.aspnet_MembershipApplicationIdUserIdPasswordPasswordFormatPasswordSaltMobilePINEmail...如果攻击者掌握了数据库,他是否更容易从加盐和散列密码中破解原始密码?查看一些记录后,似乎为每个密码生成了一个新的盐。这有什么意义?您会推荐这种方法,还是在代码中硬编码常量salt相关Aresaltsuselessforsecurityiftheattackerknowsthem?

c# - 在遍历字典时删除

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Modifying.NETDictionarywhileEnumeratingthroughit我有一个字典对象,我对其进行迭代并执行一些操作。根据条件,我应该删除或保留我当前正在迭代的键值对。在遍历字典时从字典中删除键值对的最佳方法是什么?我尝试使用单独的字典对象来跟踪要删除的元素,但我不确定如何使用它从我的主字典中删除,或者这是否是最有效的方法。

C# LINQ - 将嵌套字典转换为列表

我如何将嵌套字典展平为一些对象列表(下例中的SomeObject),这些对象应该保存这些字典的键?例如:让我们有一个如下类型的字典varnestedDictionary=newDictionary>();那我们上这个类吧publicclassSomeObject{publicintvar1;publicintvar2;publicstringsomeStringVar;}如何转换nestedDictionary到List其中var1是外部字典的键,var2是内部字典的关键,someStringVar是内部字典的字符串值?本质上,我该如何传输:nestedDict[0][0]="foo"

c# - HttpContext.Current.Cache 是线程安全的吗?

请检查下面的代码:objDDLTable=HttpContext.Current.Cache["TestSet"]asHashtable;if(objDDLTable==null){objDDLTable=newHashtable();arrDDLItems=GetDropDownList("testDropDown");objDDLTable.Add("testDropDown",arrDDLItems);HttpContext.Current.Cache["TestSet"]=objDDLTable;}elseif(objDDLTable!=null&&!objDDLTable.C

c# - 我可以比较两个字典的键吗?

使用C#,我想具体比较两个词典,两个具有相同键但不同值的词典,我找到了一个方法Comparer但我不太确定如何使用它?除了遍历每个键,还有其他方法吗?Dictionary[{key:value}]Dictionary1[{key:value2}] 最佳答案 如果您只想查看键是否不同但不知道它们是什么,您可以在每个键的Keys属性上使用SequenceEqual扩展方法词典:Dictionarydictionary1;Dictionarydictionary2;varsame=dictionary1.Count==dictionary

c# - 在 ASP.NET 事件处理程序中使用 async/await 是否安全?

当我遇到这个时,我正在用ASP.NET编写一些代码:protectedasyncvoidsomeButtonClickHandler(...){if(awaitblah)doSomething();elsedoSomethingElse();}询问后this问题我对async/await的工作原理有了更好的理解。但后来我突然想到,以上述方式使用async/await是否安全?我的意思是在调用awaitblah之后,调用者继续执行。这意味着它可能会在awaitblah完成之前将响应返回给客户端。这是正确的吗?如果是这种情况,doSomething()/doSomethingElse()会