我昨天询问了有关安全洗衣的问题,我想到的是,如何实际打破用习惯洗衣算法产生的密码。 我的当前(非常不可靠的)密码使用密码上的沙1,然后用3位数的盐子对口 has的 it。
$hash = sha1($pass1);
//creates a 3 character sequence
function createSalt()
{
$string = md5(uniqid(rand(), true));
return substr($string, 0, 3);
}
$salt = createSalt();
$hash = sha1($salt . $hash);
现在,我作为该服务器的管理人,完全能够查阅源码和密码表,加上行政工具,可以简单地重新撰写用户密码,以达到我所希望的用途,但为了更好地理解安全,我很想知道,如何以黑客的意志来这样做。 我有一个叫做卡林和安普的节目;一个叫,器,用的是特定的洗 has算法,但我怎么做一些事情,如用每条平时的口号,打上这种口号,把它推到已知的盐类,并把它再打碎? 这似乎很简单,但我从未用像C++和我假定必要的语言来安排。
EDIT:
我应具体说明如下:
这是一次无情的进攻。
我拥有全程海螺及其各自的盐类的数据库。
盐类是用户,但我只想攻击一个用户口号。
具体地说,我问,如何使用一系列仓储算法(如我上面所显示的算法)来改写密码:
pseudocode:
$hash = sha1( password );
$salt = 3Sf ;
$hash = sha1( $salt.$hash);
我假定,无论使用何种方法这样做,也可用于对带有已知算法的密码进行篡改,例如:
$hash = sha1( password );
$salt = 3Sf ;
for($i; $i<1000; $i++){
$hash = sha1( $salt.$hash);
}
因此,我没有具体要求CODE做第一件事,我问,我可以采取什么方法,针对像我上文所列2项那样的定制洗衣算法,实施一个简练的武力方案。
注:我根本不说我会遇到这种情况,但我想知道如何这样做。