当诚实的开发人员学习黑帽黑客的技术时,非程序员总是持怀疑态度.显然,我们需要学习他们的许多技巧,这样我们才能保持自己的安全性.
您认为诚实的程序员在多大程度上需要了解恶意程序员的方法?
忽略不安全的代码,.NET不会有内存泄漏.我从许多专家那里无休止地读到了这一点,我相信它.但是,我不明白为什么会这样.
我的理解是框架本身是用C++编写的,C++容易受到内存泄漏的影响.
可能重复:
如何确定一个数字是否是正则表达式的素数?
此页面声称此正则表达式发现非素数(并通过反例:素数):
/^1?$|^(11+?)\1+$/
Run Code Online (Sandbox Code Playgroud)
这怎么找到素数?
是否有PHP的IDE,您可以在线编辑页面的代码?真正的语法突出显示是最小的.更多会很棒.我希望除了在家时,能够在我的网站上进行开发.
我正在开发一个需要Visual Studio 2005的项目,我一直在努力为Visual Studio 2005 Express找到一个合法的下载站点,但似乎微软只希望人们下载2008版本.
任何人都知道为什么会这样,如果某个地方有Visual Studio 2005 Express可用的链接?
我参加了一个狂欢节,在每个地方,他们用特殊的打孔标记你的节目.打孔器是3x3空间的网格.在每个空间中,有一个针刺穿你的纸张或没有.这让我想知道你可以使用这个工具制作多少种不同的模式.我的第一个想法是:2 ^ 9 = 512,但是所有9个空间都是无针的并不是真正的一拳,所以真的:511.
然后复杂性打击了我.特别是因为工人们在打纸时并不是那么小心,所以这些看起来都很明显:
x.. .x. ... etc.
.x. x.. .x.
... ... ..x
Run Code Online (Sandbox Code Playgroud)
问题:如何编写测试以考虑轮换和转换?
到目前为止的勤奋和思想:
重叠:
/ = the spaces in the new one to test
\ = the spaces in a verified unique one
1 2 25
/ / / . . . . . / / / . . . . . . . . . .
/ / / . . . . . / …Run Code Online (Sandbox Code Playgroud) 在我已经阅读过关于公钥加密的解释中,据说通过将2个极大的素数相乘来得出一些大数.由于对大质量产品进行分解几乎不可能耗费时间,因此您具有安全性.
这似乎是一个可以通过彩虹表轻易解决的问题.如果您知道所使用的素数的大致大小并且知道其中有2个,您可以快速构建彩虹表.它是一个强大的表,但它可以完成,任务可以跨硬件并行化.
为什么彩虹表不是基于乘以大素数而击败公钥加密的有效方法?
免责声明:显然,数以万计的疯狂智能安全意识的人不会错过几十年我在下午想到的事情.我认为我误解了这一点,因为我正在阅读简化的外行解释(例如:如果使用超过2个数字),但我还不知道我的知识差距在哪里.
编辑:我知道"彩虹表"涉及在查找表中使用预先计算的哈希,但上面的声音听起来像彩虹表攻击所以我在这里使用这个术语.
编辑2:如答案中所述,没有办法存储所有素数,更不用说它们的所有产品.
即使1 exabyte重1克,我们也无法达到2.17×10 124所需的能够将所有这些数字装入带有太阳质量的硬盘中
cryptography rainbowtable public-key-encryption prime-factoring
在我尝试学习ASP.NET的Arcana之后感到沮丧,我决定尝试ASP.NET MVC.
我对C#2.0有很多经验,除了ASP.NET之外几乎所有事情(WinForms,Windows服务,远程处理......).我编写PHP的时间甚至超过了我编写.NET的时间.凭借所有这些经验,我认为我已经为ASP.NET MVC做好了准备.我现在看到我正在同时学习以下内容并且有一点困难:
我目前正在通过NerdDinner免费书籍章节的一半.我并没有感到完全失去,但我确实感觉到我没有像我想的那样追随(因为我正在同时学习4件事 - 有时候不清楚哪一件事技能来自哪个抽象层).
您会为ASP.NET MVC推荐哪些先决条件知识?我上面列出的任何/所有人?其他?或者也许我只是很慢,大多数人会做我做的很好.
来自C++背景,我习惯了多重继承.我喜欢瞄准我脚的霰弹枪的感觉.如今,我在C#和Java中工作得更多,你只能继承一个基类但实现任意数量的接口(我的术语是否合适?).
例如,让我们考虑两个实现公共接口但不同(但需要)基类的类:
public class TypeA : CustomButtonUserControl, IMagician
{
public void DoMagic()
{
// ...
}
}
public class TypeB : CustomTextUserControl, IMagician
{
public void DoMagic()
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
这两个类都是UserControls所以我不能替换基类.两者都需要实现这个DoMagic功能.我现在的问题是该函数的两个实现都是相同的.我讨厌复制粘贴代码.
(可能的)解决方案:
TypeA和TypeB共享一个共同的基类,在那里我只能写一次相同的函数定义.但是,由于只有一个基类的限制,我无法在层次结构中找到适合的位置.DoMagic函数放在一个单独的帮助器类中,但这里的函数需要(并修改)相当多的内部变量/字段.将它们全部作为(参考)参数发送只会看起来很糟糕.我用语言无关来标记它,因为它适用于使用这种one-baseclass-many-interfaces方法的所有语言.
另外,请指出我是否误解了我提到的任何模式.
在C++中,我只使用私有字段创建一个类,该函数实现并将其放在继承列表中.什么是C#/ Java之类的正确方法?
有没有人知道在构建java代码之前是否有办法让Eclipse执行"全部保存"?(我不使用"自动构建"选项,当你使用"Ctrl + B"进行构建时,我正在说话)
我通过偏好挖出来,似乎找不到任何东西,所以我想我会检查Stack Overflow上的蜂巢头脑以防万一.
我正在使用Ganymede,V3.4.1,Build id:M20080911-1700,如果它是相关的.
在此先感谢,戴夫麦基
.net ×1
.net-3.5 ×1
algorithm ×1
asp.net ×1
asp.net-mvc ×1
c# ×1
combinations ×1
config ×1
cryptography ×1
download ×1
eclipse ×1
ide ×1
java ×1
memory-leaks ×1
oop ×1
php ×1
primes ×1
rainbowtable ×1
regex ×1
security ×1