示例#1
0
文件: Form1.cs 项目: alok-y-me/eyot
        private static string getResponse64(Socket s)
        {
            string sResponse;

            byte[] bytes = new byte[2048];
            while (s.Available == 0)
            {
                System.Threading.Thread.Sleep(100);
            }

            int recvd = s.Receive(bytes, 0, s.Available, SocketFlags.None);

            sResponse = Convert.ToBase64String(bytes, 0, recvd);

            sResponse = RijndaelSimple.Decrypt(sResponse,
                                               passPhrase,
                                               saltValue,
                                               hashAlgorithm,
                                               passwordIterations,
                                               initVector,
                                               keySize);


            return(sResponse);
        }
示例#2
0
文件: Form1.cs 项目: alok-y-me/eyot
        private static string recvMsgPart(Socket sockin)
        {
            byte[] req = new byte[1024];
            // Receive length
            while (sockin.Available == 0)
            {
                System.Threading.Thread.Sleep(100);
            }
            int    rbytes = sockin.Receive(req, 0, sockin.Available, SocketFlags.None);
            string sreq   = Convert.ToBase64String(req, 0, rbytes);

            //MessageBox.Show(sreq);

            sreq = RijndaelSimple.Decrypt(sreq,
                                          passPhrase,
                                          saltValue,
                                          hashAlgorithm,
                                          passwordIterations,
                                          initVector,
                                          keySize);
            int msgLen = Int32.Parse(sreq);

            //MessageBox.Show("length = " + msgLen);
            // send ack for length

            byte[] resp  = new byte[2048];
            string sresp = "000";

            //resp = enc.GetBytes(sresp);
            sresp = RijndaelSimple.Encrypt(sresp,
                                           passPhrase,
                                           saltValue,
                                           hashAlgorithm,
                                           passwordIterations,
                                           initVector,
                                           keySize);

            resp = Convert.FromBase64String(sresp);
            sockin.Send(resp, 0, resp.Length, SocketFlags.None);
            // MessageBox.Show("Length ack sent");

            // receive message
            int    rcvd             = 0;
            string encryptedMsgBody = "";

            req = null;
            req = new byte[msgLen];
            while (rcvd < msgLen)
            {
                while (sockin.Available == 0)
                {
                    System.Threading.Thread.Sleep(100);
                }
                rbytes = sockin.Receive(req, rcvd, sockin.Available, SocketFlags.None);
                rcvd   = rcvd + rbytes;
            }
            encryptedMsgBody = Convert.ToBase64String(req);
            //MessageBox.Show("rbytes = " + req.Length + " length = " + encryptedMsgBody.Length);
            sreq = RijndaelSimple.Decrypt(encryptedMsgBody,
                                          passPhrase,
                                          saltValue,
                                          hashAlgorithm,
                                          passwordIterations,
                                          initVector,
                                          keySize);

            //MessageBox.Show(sreq.Substring(0,3) + "  " + sreq.Substring(sreq.Length-3,2));
            resp  = null;
            resp  = new byte[2048];
            sresp = "000";

            //resp = enc.GetBytes(sresp);
            sresp = RijndaelSimple.Encrypt(sresp,
                                           passPhrase,
                                           saltValue,
                                           hashAlgorithm,
                                           passwordIterations,
                                           initVector,
                                           keySize);

            resp = Convert.FromBase64String(sresp);
            sockin.Send(resp, 0, resp.Length, SocketFlags.None);
            //MessageBox.Show("msgPart ack sent");
            return(sreq);
        }