Я конвертирую Guid в BigInteger, чтобы я мог base62 его кодировать. Это хорошо работает, однако я могу получить отрицательные числа в BigInterger. Как мне сдвинуть BigInteger, чтобы число было положительным. Я также должен быть в состоянии переместить его обратно, чтобы я мог преобразовать обратно в Guid.
// GUID is a 128-bit signed integer
Guid original = new Guid("{35db5c21-2d98-4456-88a0-af263ed87bc2}");
BigInteger b = new BigInteger(original.ToByteArray());
// shift so its a postive number?