Как преобразовать строку в GUID и наоборот - PullRequest
1 голос
/ 16 июня 2020

Я хочу преобразовать строку (например, «abcd123456») в guid, и из этого guid я хочу извлечь строку из этого guid, есть ли какой-либо процесс для этого? (будет более полезно, если пример находится в python или c#)

Ответы [ 2 ]

1 голос
/ 16 июня 2020

Guid обычно представляет собой шестнадцатеричное значение из 32 символов. Вы можете одним способом создать sh вашу строку для создания Guid (например, следующий пример . Но это потеряет смысл, т.е. это необратимо.

Я думаю, вы, вероятно, в требуется простой метод шифрования симметрии c. т. е. используйте один ключ для шифрования и дешифрования ваших данных. Обратите внимание на следующие C# примеры

https://docs.microsoft.com/en-us/dotnet/standard/security/encrypting-data

https://www.c-sharpcorner.com/article/encryption-and-decryption-using-a-symmetric-key-in-c-sharp/

0 голосов
/ 16 июня 2020

GUID составляет 128 бит. Вы хотите иметь возможность обратного GUID обратно в исходную строку, поэтому вам нужно использовать 128-битный блочный шифр. Это означает AES.

Возьмите исходную строку. Добавьте заполнение cryptographi c по мере необходимости, чтобы увеличить его до 128 бит (16 байт), и зашифруйте выбранным ключом. Используйте заполнение PKCS # 7, если у вас нет причин не делать этого.

Чтобы получить исходную строку, расшифруйте с помощью того же ключа и удалите заполнение, если оно есть.

Вы не сможете этого сделать со строками длиной более 16 байт, поскольку зашифрованная строка не помещается в один GUID. Для этого вам понадобится несколько GUID.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...