You have been given a lot of good information already, but I would just point out that “the weird names” are the “sha1” value of the file’s contents. Secure Hashing Algorithm 1 is an industry standard way of producing a “hash” value of some data such that it is “computationally unfeasible” that two different files of the same size will have the same hash value. Such algorithms have many uses in computer science, including validating the correctness of and integrity of file transfers. In this particular case, it has another benefit. The main reason for naming files this way when you use, for example, our Software Distribution system is to avoid name collisions.
To pick a simple example, suppose you have two completely different software packages that both come in a self-extracting archive named, for example, Setup.exe. You can’t put two different files both named “Setup.exe” in a single folder. But if you rename the file to its sha1 value, it is virtually impossible (though not TOTALLY impossible) that they will have the same name. This solves the problem of name collision without requiring a more wasteful solution like creating separate directories with, for example, the date/time the file was added. Then, how do you find it again? You’d need a database of names and directories.
But if you look at the fixlet you generate when you put a package in the Software Distribution system, the fixlet has the sha1 value so the fixlet “knows” that relationship. No extra data needed.
Here’s some documentation that can take you much further than you probably want to go:
First, on SHA1 itself:
Next, on the general concept of cryptographic hash functions:
Finally, on the general concept of hash functions (a vast topic in computer and information science):