diff options
Diffstat (limited to '2016/5a.c')
-rw-r--r-- | 2016/5a.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/2016/5a.c b/2016/5a.c new file mode 100644 index 0000000..d8bbd7f --- /dev/null +++ b/2016/5a.c @@ -0,0 +1,25 @@ +#include <stdio.h> +#include <stdbool.h> +#include <openssl/md5.h> + +int main(void){ + int counter=0; + char inbuf[100]; + unsigned char outbuf[16]; + int prelen; + scanf("%s%n",inbuf,&prelen); + + for(int i=0;i<8;i++){ + while(true){ + int len=prelen+sprintf(inbuf+prelen,"%d",counter); + counter++; + MD5((const unsigned char*)inbuf,len,outbuf); + if(outbuf[0]==0&&outbuf[1]==0&&(outbuf[2]>>4)==0){ + putchar("0123456789abcdef"[outbuf[2]&0xf]); + fflush(stdout); + break; + } + } + } + putchar('\n'); +} |