public ActionResult Login()
        {
            string str;
            string str2;
            string str3;

            Rsa.CreateKey(out str, out str2, out str3);
            base.ViewData["n"]  = str2;
            base.ViewData["e"]  = str3;
            base.Session["key"] = str;
            base.ClearCookie("c");
            base.ClearCookie("v");
            base.ClearCookie("m");
            return(base.View());
        }
Beispiel #2
0
        public void RsaTest()
        {
            string publicKey;
            string privateKey;
            string testData;
            string decrypted;

            byte[] encrypted;
            byte[] bytes;
            byte[] sign;

            testData = "Hello World! ppppppppppppppppppppppppppppp" +
                       "pppppppppppppppppppppppppppppppppppppppppp" +
                       "pppppppppppppppppppppppppppppppppppppppppp" +
                       "pppppppppppppppppppppppppppppppppppppppppp" +
                       "pppppppppppppppppppppppppppppppppppppppppp" +
                       "pppppppppppppppppppppppppppppppppppppppppp" +
                       "pppppppppppppppppppppppppppppppppppppppppp" +
                       "pppppppppppppppppppppppppppppppppppppppppp" +
                       "pppppppppppppppppppppppppppppppppppppppppp" +
                       "pppppppppppppppppppppppppppppppppppppppppp" +
                       "pppppppppppppppppppppppppppppppppppppppppp" +
                       "pppppppppppppppppppppp";
            Rsa rsa = new Rsa();

            (publicKey, privateKey) = rsa.CreateKey();

            bytes = Encoding.UTF8.GetBytes(testData);
            sign  = rsa.Sign(bytes, privateKey);
            if (sign.Equals(testData))
            {
                Assert.Fail("署名に失敗");
            }

            if (!rsa.Verify(bytes, sign, publicKey))
            {
                Assert.Fail("検証に失敗");
            }

            bytes[0] = 100;
            bytes[1] = 200;
            if (rsa.Verify(bytes, sign, publicKey))
            {
                Assert.Fail("改ざんされているのに検証に成功");
            }
        }