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

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

2019-2-17 12:55
12307

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

本程序可用作 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;

}


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

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

楼主这个东西大概是生成随机数的,这个是生成的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
雪    币: 1728
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
nositno 2019-7-5 12:01
11
0
猜测楼主的加密算法基本原理也就是 明文+随机数=密文,然后把明文和随机数一起发出去,或者两人使用相同的随机数生成算法。还是建议楼主了解下现代密码学都干了哪些事,主要解决了什么问题。
雪    币: 10845
活跃值: (1049)
能力值: (RANK:190 )
在线值:
发帖
回帖
粉丝
看场雪 3 2019-7-5 21:50
12
0
建议楼主看一下RC4算法,了解一下实际应用中RC4的缺陷。
游客
登录 | 注册 方可回帖
返回