Wednesday, February 17 2021
This morning I looked out the laboratory window and saw a large white SUV in our driveway. Such vehicles are not driven by any demographic we are friends with, so that was puzzling. And then I heard Neville barking, so I decided to go down and see if someone was at the front door. I found two white guys wearing masks with what looked liked seven-pointed stars on their jackets. They were clearly members of some sort of law enforcement organization, and they wanted to know if Powerful was home. (They used his actual name, not his prison name.) So I went and called down to Powerful, "There are two gentlemen here to see you!" It was a brutally cold day, and yet Powerful and those two men stood out in front of our door talking for something like fifteen or twenty minutes. I wanted to hear what they were saying, but the double-pane glass on the bathroom windows reduced the sound to a dull mumble, and I couldn't make out even one word. Eventually the men left and Powerful went back to his room. Later he drove off somewhere. Whatever had happened was a mystery, and though it wasn't really my business, I wanted to know what had happened.
Every now and then I have a workday where I have to solve crazy problems that crop up in the programming environment zoo of my employer's software infrastructure. Today was such a day. There was an issue with an application whose Electron-based frontend I'd worked on in the past. The guy who maintains its C# backend was off at his father's funeral and wasn't available, so I said I'd diagnose the problem. But soon I realized I'd forgotten (and never written down) the credentials for my test account (and I didn't want to disturb the coworker off at his father's funeral). I had access to the database, but the passwords in that were deterministically hashed, so I couldn't just change them there unless I knew the hashing algorithm. Normally I would've just given up there, but this time I did not. I looked at the server side code responsible for putting the passwords in the database and saw that all that was being done was
HashedPassword = new PasswordHasher().HashPassword(password);
I tried to find examples of that method's operation online, but nobody was providing any. Had I been able to find even one, I could've used that example as my new password by placing its hash in the password column of my record in the User table. I was going to have to write just enough code to hash my own passwords. I'm all thumbs with C#, but I fired up Visual Studio anyway and made myself a dotnet core "solution" (how I hate that term!) just to has one word and print the hashed value in the console. It didn't have much code in it, and it took some dicking around in Nuget to find the code library containing the PasswordHasher class. But when I finally got it to run, the hash it produced gave me access to my test account once more.
Unrelated work on that same project turned up the IP address of a server that wasn't reachable from our network, and I could tell from the context that it was an Oracle database server. This helped show that the problem that was causing people to run around like beheaded chickens was not actually ours.
For those looking for hashes of various passwords using this method, here are a few:
This evening (via Cameron in the Mercy For Animals diaspora Slack channel) I learned that Rush Limbaugh had died. Limbaugh was an odious man, all of whose contributions to the world were negative. Not only was he a bombastic racist and sexist, but he also famously flew to the Dominican Republic with condoms and viagra, presumably to make use of the services of child sex workers. All that being said, my father (who was always a news junkie) started hate-listening to Limbaugh's program on the local AM station in the early 90s, a habit I soon picked up myself. I'd putter around at my various projects in and around the Shaque, listening with headphones to Limbaugh complain about his many grievances with the likes of Axl Rose and Anita Hill. Limbaugh's reliable ignorance could at times be entertaining, such as the time he claimed that the melting of polar ice wouldn't affect sea levels because the ice was already in the ocean. Now he's dead and the world is a very slightly better place. It's like a belated birthday present from the Grim Reaper.
Before I went to bed, I began burning some firewood from the woodshed for the first time this heating season, as I'd exhausted all the burnable wood in the house (which the snow had made it impossible to replenish). Had this year been like last year, which only a small amount of snow, I probably could've made it through the whole season without ever needing to dip into the two years' worth of wood I keep in the woodshed. Why do I insist on making things hard on myself by forcing myself to gather wood when I've already gathered more than enough? It's just one aspect of the way I gamify my life.
For linking purposes this article's URL is:feedback
previous | next