最近在研究oracle的登录认证,现在oracle的密码加解密机制都搞清楚了,现在有一个问题:
当客户端把密码加密以后发送给服务器端以后,如果服务器端验证正确,会向客户端发送一个数据包,里边有个字段:AUTH_SVR_RESPONSE,后跟96字节的串(oracle10g, oracle11g,可以转化为48字节的十六进制数)。我感觉这个48字节的数是把客户端发送的东西进行加密,然后发送给客户端,让客户端进行检验,看客户端发送的东西是否被篡改了。
我想知道这48字节的数是怎么得到的,加密的是什么东西?

解决方案 »

  1.   

    CLIENT     <-- AUTH_SESSKEY                    -- SERVER
    CLIENT     -- AUTH_PASSWORD + AUTH_SESSKEY_CLI --> SERVER
    CLIENT     <-- AUTH_SVR_RESPONSE               -- SERVEROracle10G 认证过程类似于上面,前面两步都有文档描述,第三步就不知道如何计算AUTH_SVR_RESPONSE了,我估计确实是3次握手的机制,是客户端用来核对服务器的。
      

  2.   

    我大概知道AUTH_SVR_RESPONSE是怎么计算出来的了。 :)