47 lines
1.4 KiB
Plaintext
47 lines
1.4 KiB
Plaintext
PRAGMA INCLUDE <openssl/sha.h>
|
|
PRAGMA LDFLAGS -lcrypto
|
|
|
|
OPTION MEMTYPE unsigned char
|
|
|
|
LOCAL buffer[32], passwd[5] TYPE unsigned char
|
|
LOCAL result TYPE unsigned char*
|
|
LOCAL a,b,c,d,e TYPE NUMBER
|
|
|
|
DATA "3a7bd3e2360a3d29eea436fcfb7e44c735d117c42d1c1835420b6b9942dd4f1b", "74e1bb62f8dabb8125a58852b63bdf6eaef667cb56ac7f7cdba6d7305c50a22f", "1115dd800feaacefdf481f1f9070374a2a81e27880f187396db67958b207cbad"
|
|
|
|
WHILE TRUE
|
|
|
|
READ secret$
|
|
IF NOT(LEN(secret$)) THEN BREAK
|
|
|
|
FOR i = 0 TO 31
|
|
buffer[i] = DEC(MID$(secret$, i*2+1, 2))
|
|
NEXT
|
|
|
|
FOR a = 97 TO 122
|
|
FOR b = 97 TO 122
|
|
FOR c = 97 TO 122
|
|
FOR d = 97 TO 122
|
|
FOR e = 97 TO 122
|
|
passwd[0] = a
|
|
passwd[1] = b
|
|
passwd[2] = c
|
|
passwd[3] = d
|
|
passwd[4] = e
|
|
|
|
result = SHA256(passwd, 5, 0)
|
|
|
|
FOR i = 0 TO SHA256_DIGEST_LENGTH-1
|
|
IF PEEK(result+i) != buffer[i] THEN BREAK
|
|
NEXT
|
|
IF i = SHA256_DIGEST_LENGTH THEN
|
|
PRINT a,b,c,d,e,secret$ FORMAT "%c%c%c%c%c:%s\n"
|
|
BREAK 5
|
|
END IF
|
|
NEXT
|
|
NEXT
|
|
NEXT
|
|
NEXT
|
|
NEXT
|
|
WEND
|