我正在使用以下代码生成加密令牌:
var ticket = new System.Web.Security.FormsAuthenticationTicket(
2,
"",
DateTime.Now,
DateTime.Now.AddMinutes(10),
false,
"user id here");
var cipherText = System.Web.Security.FormsAuthentication.Encrypt(ticket);
此代码使用 app/web.config 中指定的密钥和算法:
<system.web>
<machineKey validationKey="SOME KEY"
decryptionKey="SOME OTHER KEY"
validation="SHA1" />
</system.web>
现在假设我将由此生成的密文提供给合作伙伴。他是否能够暴力破解:
- 存储在密码中的值(不代表敏感信息的用户 id,它不会打扰我)
- 用于创建密码的validationKey 和decryptionKey 的值(这将是灾难性的,因为他将能够生成令牌并冒充任何用户)
我想这两个问题的答案都是肯定的,但是他的机会有多现实,你认为给他密码会对我的系统构成安全威胁吗?提前感谢您的回复。