pwjunk.c

来自「加密算法实现 Pegwit is a program for perfor」· C语言 代码 · 共 50 行

C
50
字号
#include "conio.h"
#include "stdio.h"
#include "time.h"

int bits( long x )
{
  int result = 0;
  while (x)
  {
    x /= 2;
    result += 1;
  }
  return result;
}

int main( unsigned argc, char * argv[] ) 
{
  
  long counter,old_counter=0;
  int old_x=0;
  int x,estimate=0;

  fprintf( stderr, "Pwjunk v2.0 : please press random keys until estimate reachs at least 128\n"
                   "Type CTRL-Z to finish\n" );
  while (1)
  {
    fprintf( stderr, "\rEstimate=%3d", estimate );
    counter = 0;
    while (!kbhit())
      counter += 1;
      
    x = _getch();
    printf( "%ld:%d ", counter-old_counter, x-old_x );
    estimate += bits(counter-old_counter);
    if ( x == 26 )
    {
      if ( estimate > 128 ) break;
    }
    else
    {
      estimate += bits(x-old_x);          
    }
    old_counter = counter;
    old_x = x;   
  }
  fprintf( stderr, "\n" );
  return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?