一个简单的CUDA 破解 SHA-1 的程序修改,求各位程序员帮忙看下,等了2天了,没人回...

[复制链接]
查看11 | 回复1 | 2010-10-8 09:32:26 | 显示全部楼层 |阅读模式
前几天下了个cuda跑sha1的源码,编译通过了,
但是只能跑单纯的sha1加密,sha1(pass)
我想跑sha1('hex_salt'+'pass') //salt是16进制的
由于不懂c++不知道怎么修改,望各位帮忙看看
另外还想再加个字典破解,暴力跑效率不好
cuda论坛都没几个人,等了2个晚上了,还没解决,所以这里再发一篇,
每天在线等待高手回答
程序代码 http://cuda.csdn.net/News.aspx?id=7c2219e0-ced0-430d-900d-9f3675508767
部分代码
printf( "Start with %d passwords %d-%d\n", PassCountr, StartLength, StopLength-1);
while ((StartLength 0))
{
for (int i=0;i>(dcompslow,dTnext,dTabI,dret);
} else sha1_short>(dcompslow,dTnext,dTabI,dret);
cudaThreadSynchronize();
CUDA_SAFE_CALL(cudaMemcpy(ret, dret, 40 , cudaMemcpyDeviceToHost));
if (((ret[7]==0) && (ret[0]!=5))|(ret[8]==5))
{
printf("X.Z. nVidia driver fall down \n");
FreeMem();
return(0);
}
if (ret[0]==5)
{
printf("Found Pass:%s:%.40s:%s \n",Pass[ret[5]].name,Pass[ret[5]].hash,&ret[1]);
if (OutPas!=INVALID_HANDLE_VALUE)
{
char OutPasS[100];
strcpy(OutPasS,Pass[ret[5]].name);
strcat(OutPasS,":");
strcat(OutPasS,(LPTSTR)&ret[1]);
strcat(OutPasS,"\x0d\x0a");
int IB=strlen(OutPasS);
WriteFile(OutPas,OutPasS,IB,(LPDWORD)&IB,0);
}
复制代码



回复

使用道具 举报

千问 | 2010-10-8 09:32:26 | 显示全部楼层
不懂
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行