结论: SHA-1和preimage攻击一样安全,但它很容易计算,这意味着更容易安装暴力攻击或字典攻击.(对于像SHA-256这样的后继者也是如此.)根据具体情况,设计成计算成本高的哈希函数(例如bcrypt)可能是更好的选择.
有些人会像"SHA-1被打破"那样发表评论,所以我试图理解究竟是什么意思.假设我有一个SHA-1密码哈希的数据库,一个攻击者使用最先进的SHA-1破解算法和一个拥有100,000台机器的僵尸网络可以访问它.(控制超过10万台家用计算机意味着他们每秒可以完成大约10 ^ 15次操作.)他们需要多长时间
如果密码被腌制,它会如何改变?腌制的方法(前缀,后缀,两者,还是像xor-ing这样复杂的东西)是否重要?
这是我目前的理解,经过一些谷歌搜索.如果我误解了某些内容,请在答案中更正.
简而言之,使用SHA-1存储密码似乎非常安全.我错过了什么?
更新:马塞洛指出了一篇文章,其中提到了2 106次操作中的第二次原像攻击.(编辑:正如托马斯解释的那样,这种攻击是一种假设的结构,不适用于现实场景.)但我仍然没有看到这对于使用SHA-1作为关键的派生函数是多么危险.通常有充分的理由认为碰撞攻击或第二次原始图像攻击最终会变成第一次原始图像攻击吗?
我已经制作了一个XML Schema - 基本上都是代码 - 并且想知道代码是否可以生成这样的代码:
如果是这样我该怎么办?
我正在决定如何为小型c ++/win32 api项目开发GUI(使用Visual Studio C++ 2008).该项目只需要一些组件就可以启动主流程,因此它的重量非常轻(只需一个按钮和一个文本框......).我的问题是:
我没有在Windows上开发GUI的经验,但我可以轻松学习.那么,我该怎么用?一个可视化编辑器(拖放代码生成:我对远程桌面GUI设计的偏好(java/swing)).或者我应该使用特定图书馆?无论哪种方式,我应该使用WHICH库还是可视化编辑器?我听说有人提到在C#中编写GUI,然后调用C++代码...事实是,这是一个如此简单的GUI我会发现在C++中保存它更容易,但我对任何最好的建议是.
在<some Wikipedia article>中有这个花哨的信息框.如何获得<this field and that>的值?
在我们的项目(在GitHub上托管)中,有人不小心每次都强行推动主人.没有人知道是否这样做,我想知道是谁做的,以及它背后有什么样的错误配置工具或坏习惯.
所以问题是,如何识别推动力量的用户?我拉的时候看到这样的东西:
# git pull --prune
(.....)
+ 4c0d44c...138b9ed master -> origin/master (forced update)
Run Code Online (Sandbox Code Playgroud)
但138b9ed
它只是源头/主人的最新提交,并且任何人都可能在强制推动后做出承诺; 甚至可能是推力器本人没有做出任何改变,只是重新定位,所以他的名字甚至不存在于作为作者的原始/主人历史的重写部分.
我也尝试了git reflog origin/master
,但它只是提供了相同的信息:有一条记录说明git pull --prune (forced update)
了提交ID 138b9ed
,但是这将再次将最后一个提交者提供给master,而不是那个强制推送的提交者.git reflog master
在原始服务器上运行可能会有所帮助,但GitHub并没有为您提供那种访问AFAIK.
有没有可靠的方法来找出推动起源的人(何时)?
阅读这个引人入胜的问题让我想起了几个星期前我偶然发现的代码片段.它给了我很多分钟的困惑,直到我弄清楚它为什么会起作用,也许对其他人来说也会很有趣.
<?php
http://example.com/some-article
$items = get_items();
// etc.
Run Code Online (Sandbox Code Playgroud)
显然程序员想在代码块之前添加一个解释性链接作为注释,但是忘了添加//
到开头.不过,代码工作正常.你能说出原因吗?
是否可以在另一个函数中使用这样的函数?
function foo() {
// do something
function bar() {
// do something
}
bar();
}
foo();
Run Code Online (Sandbox Code Playgroud) 我将PHPUnit测试放入现有项目中.全局常量变量被广泛使用.在我的单元测试函数失败,因为全局变量为null.这是一个失败测试的例子
static $secret_key = "a secret Key";
class secret_key_Test extends PHPUnit_Framework_TestCase
{
function test_secret_key()
{
global $secret_key;
$this->assertEquals($secret_key, "a secret Key");
}
}
>> Failed asserting that 'a secret Key' matches expected null
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激
更新:我尝试删除静态和添加
protected $backupGlobals = FALSE;
Run Code Online (Sandbox Code Playgroud)
对班级宣言没有成功.
是否可以在没有DBA权限的情况下查看用户的角色?如果是这样,怎么样?
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE = 'USER_NAME';
Run Code Online (Sandbox Code Playgroud)
上述查询需要"SELECT_CATALOG_ROLE"角色.
我需要在没有(DBA和SELECT_CATALOG_ROLE)权限的情况下获得上述查询的结果.
Mediawiki最好的WYSIWYG编辑器是什么?似乎周围有许多,但不是特别用户友好(特别是像桌子这样的东西).谁知道目前最好的产品是什么?
我们主要将wiki用于文档(内部),而不是实际的encycopedia类型操作(即引用和引用不太重要).但我希望它尽可能方便用户使用 - 所以不要让用户学习维基媒体标记(wikitext)会很棒......