난 내 암호화 키로 사용자의 ID (세션 [ "사용자 ID"]) 사용을 위해의를 만들기 위해 페이지에 암호를 해독 할 수 있습니다.
protected void Page_Load(object sender, EventArgs e)
{
Session["UserId"] = "rainmaker";
}
protected string EncodeId(object id)
{
var encryptKey = (string)Session["UserId"];
var encryptKeyArray = Encoding.ASCII.GetBytes(encryptKey);
Array.Resize(ref encryptKeyArray, 16);
// Encrypt the string to an array of bytes.
byte[] encrypted = EncryptStringToBytes(Convert.ToString(id), encryptKeyArray, encryptKeyArray);
string encryptedStr = Convert.ToBase64String(encrypted).Replace('+', '-').Replace('/', '_');
return encryptedStr;
}
세션 [ "사용자 아이디"]에 의해
Singleproduct.aspx.cs 복호화
등 REF
RijndaelManaged Class
productlist.aspx 등
<a href="Singleproduct.aspx?enProduct=<%#EncodeId(Eval("id")) %>">En Product Detail</a>
productlist.aspx.cs
var enProductId = Request.QueryString["enProduct"];
if (enProductId != null)
{
var encryptKey = (string)Session["UserId"];
var encryptKeyArray = Encoding.ASCII.GetBytes(encryptKey);
Array.Resize(ref encryptKeyArray, 16);
var encryptedArray = Convert.FromBase64String(enProductId.Replace('_', '/').Replace('-', '+'));
// Decrypt the bytes to a string.
string id = DecryptStringFromBytes(encryptedArray, encryptKeyArray, encryptKeyArray);
Response.Write(id);
}
또는 ca n 상세 ID에 대한 링크 용 GUID 필드를 추가하십시오.
HttpModule에서 쿼리 문자열 암호화를위한 Mad Kristensen의 기사 (http://madskristensen.net/post/httpmodule-for-query-string-encryption)를 확인하십시오. – kimbaudi