Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- internal static Guid GPRCK(Guid keyId, byte[] keySeed)
- {
- byte[] b = new byte[0x10];
- byte[] destinationArray = new byte[30];
- Array.Copy(keySeed, destinationArray, destinationArray.Length);
- byte[] inputBuffer = keyId.ToByteArray();
- using (SHA256Managed managed = new SHA256Managed())
- {
- using (SHA256Managed managed2 = new SHA256Managed())
- {
- using (SHA256Managed managed3 = new SHA256Managed())
- {
- managed.TransformBlock(destinationArray, 0, destinationArray.Length, destinationArray, 0);
- managed.TransformFinalBlock(inputBuffer, 0, inputBuffer.Length);
- byte[] hash = managed.Hash;
- managed2.TransformBlock(destinationArray, 0, destinationArray.Length, destinationArray, 0);
- managed2.TransformBlock(inputBuffer, 0, inputBuffer.Length, inputBuffer, 0);
- managed2.TransformFinalBlock(destinationArray, 0, destinationArray.Length);
- byte[] buffer5 = managed2.Hash;
- managed3.TransformBlock(destinationArray, 0, destinationArray.Length, destinationArray, 0);
- managed3.TransformBlock(inputBuffer, 0, inputBuffer.Length, inputBuffer, 0);
- managed3.TransformBlock(destinationArray, 0, destinationArray.Length, destinationArray, 0);
- managed3.TransformFinalBlock(inputBuffer, 0, inputBuffer.Length);
- byte[] buffer6 = managed3.Hash;
- for (int i = 0; i < 0x10; i++)
- {
- b[i] = Convert.ToByte((int) (((((hash[i] ^ hash[i + 0x10]) ^ buffer5[i]) ^ buffer5[i + 0x10]) ^ buffer6[i]) ^ buffer6[i + 0x10]));
- }
- }
- }
- }
- return new Guid(b);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement