Конечно. С хорошим блочным шифром (например, AES ) вы можете выбирать между шифрованием текста как блока (вывод будет 32-символьным блоком), и у вас будет 256-битное шифрование или XOR-шифрование текста с зашифрованным nonce (выходной файл будет 12-байтовым зашифрованным текстом), и у вас будет 96-битное шифрование.
Просто поиск в Google для AES и C # должен дать готовую реализацию. Обязательно используйте правильный nonce (в некоторых контекстах также называется вектор инициализации ).
Чтобы использовать хеш для своих целей (см. Комментарии к этому ответу), действуйте следующим образом:
хеширование:
Вычислить HASH = hash(FROM_DATE + TO_DATE + SECRET)
.
Выход FROM_DATE + TO_DATE + HASH
.
+
обозначает конкремент, а SECRET
известен только вам.
Если используются только заглавные буквы и цифры, длина должна быть не менее 25 символов.
Проверка:
Разделить строку на FROM_DATE + TO_DATE
и HASH
.
Убедитесь, что HASH = hash(FROM_DATE + TO_DATE + SECRET)
SHA-256 должно работать достаточно хорошо для этого.