Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (use message-digest md5 srfi-13)
- (define DOORID "uqwqemis")
- (define (matching-hash idstr)
- (let ((h (message-digest-string
- (md5-primitive)
- idstr)))
- (if (and (string-every #\0 h 0 5)
- (< (string->number (substring h 5 6) 16) 8))
- (cons (string->number (substring h 5 6))
- (string-ref h 6))
- #f)))
- (define (findpass id)
- (let loop ((n 0)
- (pass (make-string 8 #\g))
- (cntr 8))
- (if (= cntr 0)
- pass
- (let ((h (matching-hash
- (string-append id
- (number->string n)))))
- (if (and h (char=? (string-ref pass (car h)) #\g))
- (loop (fx+ n 1) (and (string-set! pass (car h) (cdr h)) pass)
- (- cntr 1))
- (loop (fx+ n 1) pass cntr))))))
- (findpass DOORID)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement