gpt4 book ai didi

c# - 使用 FormsAuthentication.SetAuthCookie 存储加密字符串

转载 作者:太空宇宙 更新时间:2023-11-03 11:29:29 25 4
gpt4 key购买 nike

我首先要说的是,也许这有点矫枉过正。

在我的登录例程中,我在使用 FormsAuthentication.SetAuthCookie 之前加密了用户的登录 ID。

问题是,如果加密字符串最终包含转义字符,则保存的字符串将被截断以处理转义字符。

我是否应该放弃对用户登录 ID 进行加密的尝试?

或者,有没有办法解决这个问题?

这是一个被截断的示例字符串:<< *€ƒKõ‹¯Þ\0ý´Gv\"þEaÔs0n×\tD¦™s€7Œ>>

最佳答案

当你加密用户id时,你应该使用Base64 encoding这样加密数据将只包含有效字符(字母数字、+/=)。
您可能会发现这很有帮助:Convert.ToBase64String(byte[])

例子:

string userId = "Hello";
byte[] encryptedData = GetEncryptedBytes(userId);
string encodedUserId = Convert.ToBase64String(encryptedData);
// encodedUserId is "SGVsbG8="

FormsAuthentication.SetAuthCookie(encryptedUserId);

解码是相反的:

string encodedUserId = "SGVsbG8=";
byte[] encryptedData = Convert.FromBase64String(encodedUserId);
string userId = GetDecryptedString(encryptedData);

关于c# - 使用 FormsAuthentication.SetAuthCookie 存储加密字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8316279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com