Ответ 1
Хорошим способом шифрования и расшифровки строки в контексте ASP.NET является использование метода FormsAuthentication.Encrypt
Кажется, он подходит только для cookie, но он хорошо работает в другом контексте, плюс вы также можете добавить дату истечения срока действия (или DateTime.MaxValue, если это не нужно), это пример кода:
public static string Encrypt(string content, DateTime expiration)
{
return FormsAuthentication.Encrypt(new FormsAuthenticationTicket(1,
HttpContext.Current.Request.UserHostAddress, // or something fixed if you don't want to stick with the user IP Address
DateTime.Now, expiration, false, content));
}
public static string Decrypt(string encryptedContent)
{
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(encryptedContent);
if (!ticket.Expired)
return ticket.UserData;
return null; // or throw...
}