Posted to tcl by rmax at Fri Aug 04 12:37:17 GMT 2017view pretty
package require Tk package require sha1 package require http package require tls set URL https://haveibeenpwned.com/api/v2/pwnedpassword/ http::register https 443 ::tls::socket http::config -useragent "Tcl/Tk pwned password checker" entry .in -font fixed -textvariable in -show * label .out -width 40 -height 3 pack .in .out -fill x proc pwned {pass} { .out configure -bg grey -text "processing ..." set tok [http::geturl $::URL/[::sha1::sha1 $pass]] switch -- [http::ncode $tok] { 200 { .out configure -bg red -text "You haven been pwned! :(" } 404 { .out configure -bg green \ -text "Your password is not in the database! :)" } default { .out configure -text [http::code $tok] } } http::cleanup $tok set ::in "" } bind .in <Control-BackSpace> { set in "" } bind .in <Return> { pwned $in set in "" }