Why do you need to mask the StudentID? Is their actual Student ID? Could you use an alternative value to link the values, generate a new ID or something then it does not matter if it’s visible.

We did try and do something like this recently, we wanted to mask something like locations but have them remain a 1:1 mapping. In the end we just pulled that data from the output completely as opposed to writing a mapping routine, so not much help for you there I’m afraid!

I know we have other systems in-house that do this on the IBM systems when refreshing development environments so only key people can actually see the information, but that’s done via logic in stored procedures or cobol.

The MD5 has would leave you open to the possibility of a hash collision I believe anyway (given that it’s a small chance!), could you add a new field to the system that does not contain private information?

Sorry not more help, there is a similar thread here: