草庐IT

数字安全

全部标签

c# - 编码数字,z-base-32 的 C# 实现或其他?

我需要对一个整数进行编码/解码,该整数最长为9位,但通常为7位。我想让交流/内存变得更容易-它将通过电话交流、复制和粘贴、从卡片/内存/标签中键入、在标签上手写并且通常被滥用!我希望使用base32减少位数(同时添加校验和)方案。我最赞成z-base-32(在RFC4648实现上)由于一些设计目标(例如手写)和字母表的选择(小写,排列以支持更容易读、写、说和记住的字符)。但是,我找不到C#实现,我担心从现有的Python实现中移植。有人有C#实现吗?或者,有没有人有一组测试用例(除了规范中的示例)我可以用来验证端口?我乐于接受有关替代编码方案的建议。 最佳答

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# - 如何在 silverlight 中的 xaml 和 c# 之间共享数字常量

我是.NET编程的新手,正在尝试学习Silverlight2/C#。我需要声明数字常量(或者更好的是,只读变量),并在XAML和我的C#代码隐藏文件中访问它们。这些值在XAML中定义更合适,但如果需要在C#中完成定义,这比在多个地方对值进行硬编码要好。我找到了WPFXAML的解决方案,但Silverlight显然不支持语法(我找到的解决方案要求定义在C#文件中)。TIA!回复迈克尔我将此回复添加为对我的原始问题的评论,因为评论编辑器不允许我添加这么多文本,而且我找不到其他方式来回复您的回答。谢谢你的回答,迈克尔,但我似乎无法让它工作。我从“ProSilverlight2inc#2008

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

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

c# - 如何在 C# 中制作通用数字解析器?

这个问题在这里已经有了答案:IsthereanygenericParse()functionthatwillconvertastringtoanytypeusingparse?(6个答案)关闭3年前。要将字符串解析为int,可以调用Int32.Parse(string),对于双,Double.Parse(string),很长一段时间,Int64.Parse(string),等等..是否可以创建一个使其通用的方法,例如ParseString(string)?其中T可以是Int32,Double等。我注意到类型的数量没有实现任何公共(public)接口(interface),并且Parse

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

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

c# - 如何生成 "random"和 "unique"数字?

随机数是如何产生的?java等语言是如何生成随机数的,尤其是GUID是如何生成的?我发现像伪随机数生成器这样的算法使用初始值。但我需要创建一个随机数程序,其中一旦出现的数字永远不会重复,即使系统重新启动等。我认为我需要将值存储在任何地方,以便我可以检查数字是否重复或不是,但是当列表超出限制时,它会太复杂。? 最佳答案 第一:如果保证数字永远不会重复,那么它就不是很随机。第二:有很多PRNGalgorithms.更新:第三:有一个IETFRFCforUUIDs(MS称之为GUID),但您应该认识到(U|G)UID不是加密安全的,如果您

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# - 在 ASP.NET 事件处理程序中使用 async/await 是否安全?

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