You can only get the key with the first 5 letters based on BL_ID, but that's it, the rest is generated by a lot of complicated math.
I remember someone made a conversion that converts the first 5 letters of a key to a BL_ID and converts any BL_ID to 5 letters of someone's key.
key.dat stores the full key encrypted, parts of it use your mac address and a couple other techniques, which is what key utils will use to decrypt the key.
For someone to steal the key.dat (which holds your key), they would need to get your mac address and parts of your computer information to fully decrypt the key.