首页
社区
课程
招聘
一次性密码/一次性口令(OneTimePassword)C源码可能本人原创求超级高手破解谢谢
发表于: 2019-2-17 12:55 12995

一次性密码/一次性口令(OneTimePassword)C源码可能本人原创求超级高手破解谢谢

2019-2-17 12:55
12995

此算法是本人原创/首创/独创,如果您发现网上早有别人实现了同样的,请您通知本人删除原创/首创/独创。

本程序可用作 SSH 登录的一次性口令。

技术是“伪自然随机数算法(伪均态分布随机数算法,非正态分布/高斯分布随机数算法)”,非函数式的伪随机数算法。同时用了函数式伪随机数算法跟我这个“伪自然随机数算法”作比较。

可能是超简单、超快速、超高效的密码生成器。

欢迎各路加解密高手精英破解。如果您破解了,拜请您通知我,万分感谢!

以下是源码

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define AMOUNT 32

int main(int argc, char* argv[])
{
    long i, j;

// 密码至少8个可打印字符(不包括空格),最多16个。
    char acKeyTable[96], acPassword[16];
    srand(time(NULL));

    for(i = 0; i < 94; ++i)

    {
Loop:

        acKeyTable[i] = 33 + rand() % 94;
        for(j = 0; j < i; ++j)
        {
            if(acKeyTable[j] == acKeyTable[I])
            {
                goto Loop;
            }
        }
    }
    acKeyTable[94] = 53;

    acKeyTable[95] = 36;
    for(i = 0; argv[1][i]; ++i)

    {
        acPassword[i] = argv[1][I];
    }
    for(j = 1; j <= AMOUNT; ++j)

    {
        long k, l, lTablePosition;
        for(k = 0; k < i; ++k)

        {
            lTablePosition = (unsigned char)acPassword[k] % 96;
            acPassword[k] = acKeyTable[lTablePosition];
        }
        printf("One Time Password%ld\t", j);

        for(k = 0; k < i; ++k)

        {
            printf("%c", acPassword[k]);
        }
        putchar(10);
        if(j % 2)

        {
            long *plKeySwap1 = (long*)acKeyTable, *plKeySwap2 = (long*)acKeyTable;
            for(l = 0; l < 12; ++l)

            {
                lTablePosition = (unsigned char)acPassword[l] % 12;
                if(l == lTablePosition)

                {
                    continue;
                }
                plKeySwap1[l] += plKeySwap2[lTablePosition];

                plKeySwap2[lTablePosition] = plKeySwap1[l] - plKeySwap2[lTablePosition];
                plKeySwap1[l] -= plKeySwap2[lTablePosition];
            }
        }
        else
        {
            for(k = 0; k < 96; ++k)
            {
                lTablePosition = rand() % 96;
                if(k == lTablePosition)

                {
                    continue;
                }
                acKeyTable[k] += acKeyTable[lTablePosition];

                acKeyTable[lTablePosition] = acKeyTable[k] - acKeyTable[lTablePosition];
                acKeyTable[k] -= acKeyTable[lTablePosition];
           }
       }
    }
    return 0;

}


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2019-7-6 09:13 被zx_838914编辑 ,原因: 更新一些内容
上传的附件:
收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 1218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
时间关系没仔细看,只是用VS试运行了一下,有个内存位置的冲突,也可能是学校机器的问题吧,有时间回自己电脑上试一下
2019-2-17 19:30
0
雪    币: 8188
活跃值: (2847)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
3
银行的u盾了解一下。
2019-2-17 23:03
0
雪    币: 108
活跃值: (1188)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
大倪哥 时间关系没仔细看,只是用VS试运行了一下,有个内存位置的冲突,也可能是学校机器的问题吧,有时间回自己电脑上试一下
大师,求破解
2019-2-18 12:25
0
雪    币: 108
活跃值: (1188)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
layerfsd 银行的u盾了解一下。
大师,求破解
2019-2-18 12:25
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
6
似乎不能加密吧,谈何破解?
2019-2-19 15:29
0
雪    币: 108
活跃值: (1188)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
sjdkx 似乎不能加密吧,谈何破解?
https://bbs.pediy.com/thread-252424.htm
此链接就是本文一次性密码/一次性口令的加解密实现的 C源码,请你看看如何加密如何解密。它实现了信息学鼻祖香农的一位一密加解密算法。
2019-7-3 21:26
0
雪    币: 108
活跃值: (1188)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
sjdkx 似乎不能加密吧,谈何破解?
https://bbs.pediy.com/thread-252424.htm
此链接就是本文一次性密码/一次性口令的加解密实现的 C源码,它实现了信息学鼻祖香农的一位一密加解密算法。
最后于 2019-7-3 21:29 被zx_838914编辑 ,原因: 给C语言源码
上传的附件:
2019-7-3 21:27
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
9
你的程序也没汉字注释不好看懂。程序用法也不说清楚。所以就没兴趣再看了。
2019-7-4 15:43
0
雪    币: 1728
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10

楼主这个东西大概是生成随机数的,这个是生成的11个随机数排了下版...

01:_7&L_7&L7_&L_7&7[$.t2,rC[R53y$QyrhJGtgj8!5KCT,V
   :yA06$tMF42(}-uB+;gs4$)R\K5rx$~u-wj6;=,6kRb.hJG
02:$\QJ$\QJ\$QJ$\Q\g,6CAt=r$s!AM$.ky2G6stG;w+)4+j;
   Rwyjs++5+y)h;sr!Kxr6$+)+kh)Gw+;tr;!+w;s+A+6!$!A
03:wwk;wwk;wwk;wwkw)6wwh$w$$+w)+A$G+Grs!w)s)wr!r6r
   5!A!ys$)))+s+,)+ws+sy++yhrs,r+s)rwwr)ysAA+yr$ww
04:ss$rss$rss$rss$s)$)s$yssh!s!!)s$)w!A)A!A6A$A$A!
   6!y!+ywyAAyyyyyAyAyAAyyAh!Ay!yAy!AA!yAAAAyA!yAA
05:yy;Ryy;Ryy;Ryy;yyssAsw);yy;y;AyAyAyAsAAAAyyy+Ay
   +yAx+AyAAy!yAAA!y!yAyAyAA!yyyyyyAAyAyyyAyyAyyyA
06:yyyyyyyyyyyyyyyyAAAyyyyyyyAyyAyyyAAyyyyyyyyyyyy
   yyyyyyyy++yy+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
07:+++++++++++++++++y+++++++++++++++++y+++++yyyyyy
   yyyyyyyyyyyyy+y!yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
08:yyyyyyyyyyyyyyyy++++y+yyyyyyyyyyyyyyyyy+yyyyyyy
   yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
09:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
   yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
10:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
   yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
11:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
   yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
2019-7-5 11:34
0
雪    币: 1728
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
猜测楼主的加密算法基本原理也就是 明文+随机数=密文,然后把明文和随机数一起发出去,或者两人使用相同的随机数生成算法。还是建议楼主了解下现代密码学都干了哪些事,主要解决了什么问题。
2019-7-5 12:01
0
雪    币: 10845
活跃值: (1054)
能力值: (RANK:190 )
在线值:
发帖
回帖
粉丝
12
建议楼主看一下RC4算法,了解一下实际应用中RC4的缺陷。
2019-7-5 21:50
0
游客
登录 | 注册 方可回帖
返回
//