Newbie here, and I apologize if this is the wrong forum for this type of question...
I have a group of 200 or so alphanumeric codes from an unknown source. Here's an example piece of the data set:
2230-4D16-5112
2301-7D05-7062
2373-4A20-0106
3072-5E26-2033
0662-2E10-237F
1172-5E30-520B
There are some "rules" that I have been able to discern just by looking at enough of these codes. First, these always begin with 0, 1, 2, or 3. Secondly, the only valid characters are 0-9 and A-F. Other than that, I haven't yet determined what other constraints or patterns there are.
So my question is, given a set of data, what are the known ways (mathematical or otherwise) to determine the formula used to create the data without having access to anything from the original creator? Or maybe the numbers are just random? How do I know?
And my other question: Is there any sort of software currently out there where you can plug into large sets of data and have it figure out patterns/rules to stuff like this?
UPDATE:
Interestingly enough, after looking at 177 of these sequences, I see some interesting rules developing. Only certain values can be in certain positions. Maybe someone out there can recognize this pattern and why it's this way? (All means 0-9 and A-F)
1: 0-3
2: 0-7
3: All
4: 0-3
5: 0-7
6: All
7: 0-3
8: 0-7
9: All
10: 0-3
11: 0-7
12: All
UPDATE 2:
The comment by Théophile below was enough for me to look at the sequencing differently. Instead of 3 groups of 4, it's actually 4 groups of 3, and the dashes are used to obfuscate that. Maybe these simple rules are enough to consider a value as valid vs invalid in a system? I don't know for sure, but it's a starting point with the data I have. Now to look for patterns within...
1: 0-3
2: 0-7
3: All
4: 0-3
5: 0-7
6: All
7: 0-3
8: 0-7
9: All
10: 0-3
11: 0-7
12: All