Зашифровать Расшифровать 12-значный текст с помощью 32-символьного ключа - PullRequest
0 голосов
/ 07 октября 2011

Я ищу способ зашифровать и расшифровать 12-значный текст длиной 32 символа. Шифр ​​должен быть фиксированной длины (32 или меньше). Возможно ли это?

Заранее спасибо

1 Ответ

0 голосов
/ 07 октября 2011

Конечно. С хорошим блочным шифром (например, AES ) вы можете выбирать между шифрованием текста как блока (вывод будет 32-символьным блоком), и у вас будет 256-битное шифрование или XOR-шифрование текста с зашифрованным nonce (выходной файл будет 12-байтовым зашифрованным текстом), и у вас будет 96-битное шифрование.

Просто поиск в Google для AES и C # должен дать готовую реализацию. Обязательно используйте правильный nonce (в некоторых контекстах также называется вектор инициализации ).

Чтобы использовать хеш для своих целей (см. Комментарии к этому ответу), действуйте следующим образом:

хеширование:

  1. Вычислить HASH = hash(FROM_DATE + TO_DATE + SECRET).

  2. Выход FROM_DATE + TO_DATE + HASH.

+ обозначает конкремент, а SECRET известен только вам.

Если используются только заглавные буквы и цифры, длина должна быть не менее 25 символов.

Проверка:

  1. Разделить строку на FROM_DATE + TO_DATE и HASH.

  2. Убедитесь, что HASH = hash(FROM_DATE + TO_DATE + SECRET)

SHA-256 должно работать достаточно хорошо для этого.

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