Просто чтобы расширить ответ Джона, потому что вы, вероятно, задаетесь вопросом, в чем смысл шифрования чего-то, что вы не можете расшифровать - HMAC-SHA1, как сказал Джон, является хешем. Полученная строка не содержит исходной информации, даже в зашифрованном виде ... Это просто последовательность байтов.
Однако прелесть хэша в том, что любое изменение, которое вы можете внести в строку, почти наверняка приведет к изменению результата хеширования, а результат хеширования, как правило, довольно мал. По этой причине хэши часто используются, чтобы гарантировать, что часть информации не была взломана.
Например,
Я хочу отправить Джону здесь сообщение - и я хочу, чтобы он был уверен, что один из его товарищей не изменил сообщение до того, как прочел его. Я не могу просто взять хеш моего сообщения и отправить его вместе, потому что все, что может сделать неприятный человек, - это заменить это сообщение своим собственным и предоставить соответствующий хэш ...
Однако, если я добавлю в свое сообщение хэш не самого сообщения, а сообщения с несколькими конкретными дополнительными байтами, о которых Джон и я заранее договорились, создатель проблемы будет побежден. Джон знает, что нужно добавить дополнительные байты (обычно называемые засолкой хеша) до того, как он хэширует мое сообщение, но проблема, вызывающая проблемы, этого не делает - поэтому, если он изменяет сообщение, даже если он обрабатывает свой собственный хэш, Джон может увидеть, что что-то это неправильно ...
Encyryption / Hashes - сложное дело, и я сам лишь немного поцарапал поверхность - но я подумал, что это может дать вам простой пример того, для чего используются хеши ...
Другое очень распространенное использование - для сохранения информации о членстве на сайте - люди хранят не пароль, а его хеш-код. Это означает, что даже если кому-то удастся перехватить ваши пользовательские данные, они не смогут использовать их для входа в вашу систему.
Martin