草庐IT

智慧公共安全

全部标签

c# - C# .NET 中的 UTF-16 安全子字符串

我想得到一个给定长度的子字符串,比如150。但是,我想确保我不会切断unicode字符之间的字符串。例如看下面的代码:varstr="Hello?world!";varsubstr=str.Substring(0,6);此处substr是无效字符串,因为笑脸字符被切成两半。相反,我想要一个执行以下操作的函数:varstr="Hello?world!";varsubstr=str.UnicodeSafeSubstring(0,6);其中substr包含“Hello?”作为引用,以下是我在Objective-C中使用rangeOfComposedCharacterSequencesForR

甲方安全之仿真钓鱼演练(邮件+网站钓鱼)

文章目录一、简介1.1前言1.2整体思路1.3演练所需1.4各邮件厂商日群发上限二、钓鱼平台搭建及配置2.1gophish平台搭建2.2收件目标配置(User&Groups)2.3发信邮箱配置(SendingProfiles)2.4邮件模版配置(EmailTemplates)2.5钓鱼网站配置(LandingPages)2.6发件活动配置(Campaigns)2.7跳转警示网站三、数据统计3.1统计方法:3.1.1后台文件导出3.1.2文件整理方法3.1.3人工删选技巧3.2注意事项四、演练意义声明:禁止一切非法网络钓鱼行动,本文章旨在安全分享,仅供安全学习探讨,如非法未授权进行网络钓鱼,由此

c# - 使用 Parallel.ForEach() 的 yield return 的线程安全

考虑以下代码示例,它创建一个可枚举的整数集合并并行处理它:usingSystem.Collections.Generic;usingSystem.Threading.Tasks;publicclassProgram{publicstaticvoidMain(){Parallel.ForEach(CreateItems(100),item=>ProcessItem(item));}privatestaticIEnumerableCreateItems(intcount){for(inti=0;i是否保证Parallel.ForEach()生成的工作线程每个都获得不同的项目,或者是否需要一

c# - 在类内部时,调用它的私有(private)成员还是公共(public)属性更好?

这个问题在这里已经有了答案:ShouldyouaccessavariablewithinthesameclassviaaProperty?(6个答案)关闭9年前。这是我在代码中一直纠结的问题。假设我们有以下代码:publicclassMyClass{privatestring_myVariable;publicstringMyVariable{get{return_myVariable;}set{_myVariable=value;}}publicvoidMyMethod(){stringusingPrivateMember=_myVariable;//methodAstringusi

c# - 通用/类型安全的 ICommand 实现?

我最近开始使用WPF和MVVM框架,我想做的一件事是拥有类型安全的ICommand实现,这样我就不必强制转换所有命令参数。有谁知道这样做的方法吗? 最佳答案 不使用该语法,正如您可能发现的那样:errorCS0701:``System.Func`'isnotavalidconstraint.Aconstraintmustbeaninterface,anon-sealedclassoratypeparameter最好的办法是封装Func界面中的语义,例如:interfaceIFunctor{boolExecute(Evalue);}然

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# - 如何从 *.dll 中检索所有公共(public)方法

我有一个用C#编写的*.dll,我需要获取该*.dll中包含的所有公共(public)方法或类的列表。有什么方法可以用C#以编程方式完成吗? 最佳答案 是使用Assembly.GetTypes提取所有类型,然后对每种类型使用反射来迭代公共(public)方法。Assemblya=Assembly.LoadWithPartialName("...");Type[]types=a.GetTypes();foreach(Typetypeintypes){if(!type.IsPublic){continue;}MemberInfo[]me