The validation key is for added security. We used this for a simple application that we used that launches applications with a different Windows user so that the application could run with Administrative privleges while the logged in user runs as a restricted user. We did not want the end-user to be able to copy the XML file from one machine to the next, so we used a hash based off of different parts of the machine information to set the validation key. If it didn't line up, then the XML file could not be read...thus...BOOM We obviously trapped the error, but it prevented someone from trying to be tricky and added another level of security.Also, I note that you are using obsolete encryption methods within this class...any reason for that?
This will not be an issue and we use it all of the time. A while back we realized that we had a bug with the CreateMD5Hash when providing too short of a key. We could not remove the method as it is used in security as well as other methods (including this one) and it could have a broad impact it we just changed that method. So we created another that worked as we needed it to and just made the other obsolete so that you would not use it in any new code. In fact, most of the methods in the XMLBasics have been updated to work outside of the obsolete method, but there were a few that could not be changed as it would have a negative impact on those files already encrypted in the field.