Вы можете создать зашифрованное значение, чтобы пользователь мог видеть и работать с ним, а затем расшифровывать его при работе с ним. Я думаю, что лучшим решением было бы создать значение хэшированного идентификатора как часть объекта, как предлагали другие, но если вы хотите пойти по пути шифрования / дешифрования, то ниже приведено то, что мы сделали для шифрования идентификаторов на лету. Вы можете зашифровать идентификатор в строку и показать эту строку пользователю, а затем расшифровать строку при передаче от пользователя.
Мы реализовали обертку вокруг класса DESCryptoServiceProvider, чтобы можно было шифровать строку и расшифровывать обратно в строку. Мы используем это для шифрования идентификаторов в строках запроса. Мы ToString () идентификаторы, чтобы сделать их строки, которые мы можем затем зашифровать. Наш метод класса Encrypt-обертки возвращает строку в кодировке base64. Наш класс-оболочка заботится о преобразовании ввода строки в байтовый массив, шифровании и возвращении зашифрованного байтового массива в виде строки, закодированной в base64. Метод Decrypt в нашей оболочке берет строку, закодированную в base64 строку, и расшифровывает ее в текстовую строку. Затем вам придется анализировать открытый текст обратно в int. Одно замечание, если вы используете в URL-адресе, вы должны UrlEncode кодированной строки base64, прежде чем поместить ее в URL.
Мы делаем ключи настраиваемыми, чтобы можно было обмениваться ключами между компьютерами для веб-фермерства, чтобы идентификаторы, зашифрованные в одном веб-окне, можно было расшифровать на других.