执行在ASP.NET应用程序,因为据我所知,后面的代码位于服务器,而不是在浏览器中。因此,例如,我有一个登录屏幕,在后面的代码中,在登录按钮单击时,我在发送到服务器之前加密用户凭证。当用户按下登录按钮时,在发送到服务器之前如何激发相应的事件以及如何对用户凭证进行加密?ASP.NET - 如何服务器端代码在用户请求时从浏览器
任何人都可以请解释我的流程是怎么样的吗?
执行在ASP.NET应用程序,因为据我所知,后面的代码位于服务器,而不是在浏览器中。因此,例如,我有一个登录屏幕,在后面的代码中,在登录按钮单击时,我在发送到服务器之前加密用户凭证。当用户按下登录按钮时,在发送到服务器之前如何激发相应的事件以及如何对用户凭证进行加密?ASP.NET - 如何服务器端代码在用户请求时从浏览器
任何人都可以请解释我的流程是怎么样的吗?
如果要加密代码中的证书哟你在服务器本身上加密它们,它们没有在客户机上加密。无论您在浏览器中的表单域中输入了什么内容,都会作为POST的主体从客户机浏览器传输到服务器。
如果您使用的是HTTP协议,则您输入的数据在连线上清晰可见(您可以使用Fiddler或Wireshark来查看此信息)。
你要使用HTTPS将加密HTTP数据包,这样,当数据被传输到服务器的内容不能被视为明文。无论是否希望在服务器上明确加密数据之前,例如在存储到数据库之前,都是一个单独的操作和问题。
这document from 4GuysFromRolla固然过时,但命中你的要求是如何处理的高点。
由于所有写在后台代码在服务器上exceuted之前对其进行加密,密码encription也在那里进行。如果您在将密码发送到服务器之前需要加密,则JavaScript是唯一的方法。您可以使用JavaScript AES,DES,3DES加密算法。这里是一个很好的例子http://point-at-infinity.org/jsaes/
或者您可以使用SSL将数据发送到服务器。
如果您在页面生命周期事件intereseted,在这里,他们是:
1)PreInit
2)初始
3)InitCOmplete
4)LoadViewState
5)的LoadPostData
6)预载
7)负载
8)LoadComplete
9)的PreRender
10)PreRenderComplete
11)SaveStateComplete
12)卸载
请注意,您已经为按钮,点击编写的任何代码,它是在服务器上。所以只有当服务器上的代码接收到文本时才会发生加密,而不是在此之前。我不会建议使用JavaScript加密这些文本,但应该考虑引入SSL。在SSL中运行应用程序会稍微慢一些,因为它必须加密/解密进程。因此,您可能计划在HTTPS(SSL)和其他普通HTTP下的页面上运行受保护的页面。希望它有效。
[ASP.NET应用程序和页面生命周期](http://www.codeproject.com/Articles/73728/ASP-NET-Application-and-Page-Life-Cycle) – Habib